Hirdetés

2024. május 29., szerda

Gyorskeresés

Útvonal

Fórumok  »  Szoftverfejlesztés  »  PHP programozás (kiemelt téma)

Hozzászólások

(#9001) modder válasza Sk8erPeter (#9000) üzenetére


modder
aktív tag

Megadják a lehetőséget :)

(#9002) PazsitZ válasza modder (#8999) üzenetére


PazsitZ
addikt

Azt most már tudjuk, mi a szar, de a temérdek jobb, átláthatóbb, refaktorbarát alternatív javaslatot még nem találtam meg a hsz.-eidben. :(

Aki pedig azt állatja, hogy minden függvényt azzal kezd, hogy /** */, az biztos ráér programozni
Az annotáció pedig megkönnyíti a további fejlesztést, az autocomplete felhasználás során.
Mert meg sem kell nyitnod függvényt tartalmazó fájlt tudni fogod a be-ki-meneti paramétereket, típusukat és kivételeket, amit dobhat.
Ehelyett ha lehagyod, jobb esetben tízszer nyithatod a fájlt és böngészheted a függvényt, mit miként adj át és várj viszont. Utóbbi minden bizonnyal gyorsabb. :W

A tömbös indexes hibakezeléses megoldásos pedig aranyos, de ne akard már itt megmagyarázni, hogy ez a frankó, mert már nem tudom, hogy sírjak vagy nevessek.

[ Szerkesztve ]

- http://pazsitz.hu -

(#9003) modder válasza PazsitZ (#9002) üzenetére


modder
aktív tag

mivel minden probléma egyedi, ahol exception-t akarnál használni, ezért nem tudok általános megoldást adni, sajnálom.

A 404-es oldalra pedig már mondtam korábban

(#9004) Sk8erPeter válasza modder (#8999) üzenetére


Sk8erPeter
nagyúr

"Azt hiszem érthető voltam, de akkor leírom érthetőbben: amikor refaktorálod (átírod, javítod) a kódot, nem fogod tudni, hol dobtad az exceptiönt, amíg tényleg nem dobtál egyet.
Például van a form validáló osztályod, ami dobhat 4féle exception-t, te meg szeretnéd tudni, hol dobja, akkor legjobb esetben is ctrl+ffel keresel rá. Ha pedig a stacktrace-t akarod használni, ahhoz generálnod kell egy olyan hibát, ami ezt az exceptiont dobja."

Azt hiszem, én is érthető voltam, amikor leírtam, hogy egy általános jellegű Exception elkapásával minden kivételt el lehet kapni, és a kivétel keletkezésének módjáról mindent meg lehet tudni. Ha azt szeretnéd megtudni, hol dobja, és egész addig nem tudod, amíg nem keletkezett egy pontosan olyan specifikus hiba, akkor valóban az a megoldás létezik, hogy generálsz olyan hibát, vagy rákeresel. És? Nem értem a logikádat, ez miben tér el attól, ha te mondjuk ragaszkodsz a hibatömbös megoldásodhoz. Ha a hibatömbös hibakezelés forrásaira szeretnél rátalálni, akkor még a klasszikus exceptionökre vonatkozó backtrace-es megoldás sem áll a rendelkezésedre, de szerencsére mivel a PHP elég kényelmes nyelv, még erre is igénybe lehet venni egy plusz segítséget (kicsit mintha a bal kezeddel vakarnád meg a jobb füledet a tarkód mögül): debug_backtrace().
Még egy dolog: ha definiálsz saját exception osztályokat, akkor azoknak többnyire elég normális, egyedi neve van.
Pl. legyen épp ValidationException a neve.
Mondjuk ennek eldobása egy egyszerű globális fv.-en belül így néz ki:

function blabla(){
// .......
if( $hiba_van ){
throw new ValidationException( 'ezért meg azért' );

}
// .......
}

a Te megoldásod meg valami ehhez hasonló:

function blabla(){
// .......
if( $hiba_van ){
$errorArray['status'] = FALSE;
$errorArray['msg'] = 'ezért meg azért';
return $errorArray;
}
// .......
}

Ha már Te mindenhol az ugyanilyen jellegű hibatömbös megoldást alkalmazod, és Ctrl+F-es módszer, akkor szerintem több esély van gyorsan megtalálni a throw new ValidationException részt. :D
De a tömbös megoldást továbbra sem kínál beépítetten backtrace megoldást.

"Nyilván, ha valaki idiótán programoz, arra nincsen mentség."
Ez önmagában igaz. De arra, amire reagáltál, ez valahogy kicsit sántít. Pl. ha már újrafelhasználásról beszélünk, nem tudom, valakinek miért kellene kitalálnia, hogy a kódot elkészítő illető pontosan milyen tömbindexeket használt. Ja, hát nézze át az egész kódot, ha már szar a dokumentáció, hisz' bár a függvényt készítő ember nem ért rá odaírni három sort, ha három kivételt dob a fv. elejére, de a kódot felhasználó illető majd nyilván rá fog érni átnézni a komplett kódot. Itt pedig ez az indexeléses módszer nem biztos, hogy olyan intuitív megoldás, hogy ránézésre, már az első példa láttán lehet tudni, hogy mi is a helyzet többféle alkalmazásnál.

Sk8erPeter

(#9005) modder válasza Sk8erPeter (#9004) üzenetére


modder
aktív tag

én inkább így közelíteném meg:

function blabla(){
// .......
$errorArray = array();
if( $hiba_van ){
$errorArray[] = 'ezért meg azért';
return $errorArray;
}

return empty($errorArray) ? true : $errorArray ;
// .......
}

Az exceptiondobálós példával van még egy gubanc: ha minden egyes alkalommal, amikor hibát találsz a validációban, dobsz egy kivételt, akkor ki fogod hagyni az utána következő formelemek validálását, és nem fogod tudni, van-e több hiba is.

Ha pedig minden formelemen végigmész, összegyűjtöd a hibákat, és utána dobsz egy exception-t, benne például egy tömbbel a hibákról, akkor már nem nagyon látom annyira egyszerűbbnek a hibakezelést.

(#9006) Sk8erPeter válasza modder (#9001) üzenetére


Sk8erPeter
nagyúr

Ez sajnos nem volt egy túlzottan érdemi reakció.
Pl. miután kijelentetted, hogy nem igazán tudsz olyan frameworkről, ami exceptionökre építené a működését, megmutattam a Symfony-t, mert próbáltam érdemben vitatkozni, nem csak általánosságban beszélni. A Symfonynál meg most hirtelen nem tudom, milyen meggyőzőbb frameworköt kellene neked mutatnom, hogy az exceptionök létjogosultsága valamennyire világosabbá váljon.

Egyébként a gyakorlati ellenpéldákat én is hiányolom, ha már kritizálod azoknak a programozási szokásait, akik a kivételek használatára építenek. Azt érezteted, hogy a kivételekre építés rossz programozói gyakorlat (tehát valamit rosszul csinál az, aki erre alapozva kezeli a program menetében felmerülő hibákat), miközben nálunk okosabb emberek komplett keretrendszert építettek erre. Én jobban hajlanék az érveid elfogadására, ha alátámasztanád őket konkrét példákkal - attól függetlenül, hogy "minden probléma egyedi". Igen, a formvalidálás problémája is egyedi, meg az is, hogy hogyan kezelj le egy 404-es hibát. Én mindkettőre elmondtam a saját megoldásom (privátban komplett pszeudokódot is mutattam, ezt alátámasztandó), úgy tűnt, belátod az átláthatóság előnyeit kivételkezelésnél. De saját példát is mutathatnál, mert én nyitott vagyok más megoldásokra, ha az érdemi javulást hozhat a kódban.

Ha valaki vitatkozik az álláspontoddal, nem azért teszi, mert feltételezi, hogy hülyeségeket beszélsz, épp az a jó szakmai vita ismertetőjele, hogy szakmai szempontokkal győzzük meg egymást (én erre törekszem), nem pedig bezárkózásunknak adunk jelet.

A magasabb szintű programozói nyelvekben meg a kivételkezelés nagyon nem ördögtől való.

Kicsit számomra is olyan ez a vita, mintha arról beszélnénk, hogy mennyire nem éri meg objektumorientáltan programozni, mert az akár lassulást is hozhat. Ugyanez igaz C++-ra is: az OOP-s megoldás továbbra is lassabb marad, ezzel nyilván nem mondtam újat.
De ettől még megkérdőjelezni az OOP előnyeit nem érdemes, mert tény, hogy az átláthatóságban, követhetőségben, az objektumok logikai összetartozásában, kapcsolódásában, annak szemléltetésében, az emberi gondolkodáshoz való hasonlóságában, stb. annyi előnye van, ami miatt bőven van létjogosultsága (ez sem új, de elmondom).
Ettől függetlenül mégis hosszas érvek vannak, amik miatt pl. a Drupal még mindig nem állt át a teljes objektumorientáltságra: Drupal programming from an object-oriented perspective. De ennek nagyon sok történelmi gyökere is van (PHP 4 miatti kompatibilitás - most már erre nem terveznek).

Sk8erPeter

(#9007) modder válasza Sk8erPeter (#9006) üzenetére


modder
aktív tag

A symfony error handlingről beszélt, ami tipikus hiba eset (értsd: ha hiba történik, amire egyáltalán nem számítottál, exception, ugyanez a Kohana is, ezért van stacktrace, amikor valamit elszúrok), nem arról, hogy a mindennapi funkcionalitást exceptionökre építed.

A 404-es hiba exceptionnel történő kezelése pedig nem ördögtől való, mint azt korábban írtam: mindegy. Viszont ez architektúrális szinten jelenik meg, ezért van létjogosultsága.

Mondtam, nehéz eldönteni mi az amit lehet/szabad/érdemes exceptionokkel csinálni és mi az, amit nem. A validálás olyan, amit én nem exceptiönökkel csinálnék. Alternatívát a 404-re pedig írtam.

(#9008) Peter Kiss válasza modder (#8999) üzenetére


Peter Kiss
senior tag
LOGOUT blog

Veled értek egyet, nem jó hozzáállás, ha mindenhol kiviteleket hajigálunk, egyszerűen nem erre lettek kitalálva, de ezt mutatja a nevük is. Például validáció során nem jelent kivételt az, ha invalid egy adat.

(#9009) Sk8erPeter válasza modder (#9005) üzenetére


Sk8erPeter
nagyúr

Igen, és itt aztán a visszatérési értéket megint csak vizsgálni kell, és akkor visszajutottunk ugyanoda, ahonnan elindultunk.

Vegyük azt a megközelítést, amit Te mondasz, tök egyszerű példával. Itt beletettem még annyit, hogy két különböző paraméterrel hívom meg a logErrors függvényt, ez is szándékosan jó butított példa. A syntax highlighting miatt inkább felraktam pastebinre:
http://pastebin.com/KxH2Fmk9

Na, akkor vegyük azt a megközelítést, amiről én beszélek (bár privátban hasonló jellegű megoldást mutattam), aktualizálva a példához:
http://pastebin.com/PVKe4uNA

Nem tudom, ki hogy van vele, de nekem a második, háromsoros kód jobban áttekinthető. A korábbiaknál meg annyi van bent pluszban, hogy van két saját kivételosztály, ami tömböt is tud fogadni.

(#9007) modder : azzal egyetértek, hogy nem mindig egyértelmű, mire szabad/érdemes exceptiont használni. De pl. egy form injection probléma tipikusan olyan, ami miatt érdemes lehet exceptiont dobálni. Ahogy egy adatbázis-kapcsolódás is.
A 404-es hiba meg ilyen alapon ugyanúgy gyakran előfordulhat, ha valaki elcseszi a keresett URL-t, esetleg van hivatkozás Google-ön keresztül olyan oldalra, amit azóta már töröltek, vagy magán az oldalon van rossz hivatkozás van; de tulajdonképpen ezt is meg lehetne oldani sima error tömbökkel, ahogy az összes többi hibát is. Tulajdonképpen mindkettő megoldás alkalmazható minden problémára, kérdés, mire melyiket érdemes - bár az valóban érdekes felmérés lehet, mennyit ront a GYAKORLATBAN a teljesítményen az, ha valaki exceptionökre áll rá.
Ha valaki tud ilyen felmérésről, ne tartsa magában!

===

(#9008) Athlon64+ : nem is kell "mindenhol" kivételeket hajigálni.

[ Szerkesztve ]

Sk8erPeter

(#9010) Speeedfire


Speeedfire
nagyúr

Hogy lehet egy model értékeit dinamikusan használni?
Adott az adatbázisban pár ilyen bejegyzés:
nap_1, nap_2....nap_x
Ezeket akarom nem egyesével, valami tömbben feldolgozni, konkrétan egy explode-ot szeretnék az adott adatokban.
Így próbáltam, de...

$model->'nap_'.$i;
//meg így is
$napok=array('nap_1'.....);
$model->$napok[$i];

Egyikkel sem akar menni, biztos van rá valami, de ... :)

Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com

(#9011) Sk8erPeter válasza Sk8erPeter (#9009) üzenetére


Sk8erPeter
nagyúr

"felmérés" helyett inkább simán teljesítménymérésre gondoltam.

(#9010) Speeedfire : bárcsak közérthetőbben írtad volna le, mit szeretnél. :)

[ Szerkesztve ]

Sk8erPeter

(#9012) mobal válasza Speeedfire (#9010) üzenetére


mobal
MODERÁTOR

Ez így objektum hívás?

$model->'nap_'.$i;

Konkrétan nem értelek. Most kiveszed adatbázisból a nap_xy bejegyzéseket és belerakod egy tömbbe majd mindre ugyanazt a feldolgozást ráhúzni?

foreach? :)

"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."

(#9013) Speeedfire válasza mobal (#9012) üzenetére


Speeedfire
nagyúr

Igen és igen.
Rosszul declaráltam valamit azért nem ment, de már okés. :)

Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com

(#9014) modder válasza Sk8erPeter (#9009) üzenetére


modder
aktív tag

Nem akartam amellett kardoskodni, hogy kb soha nem szabad Exceptionöket használni, csak nem érdemes első megoldásként gondolni rá. Mindig nagyban függ a problémától, lehet, hogy nagyobb cégeknél, pl. IBM erről vannak infók. Én úgy érzem, hogy nem szívesen fordulok Exceptionökhöz, mégha kényelmesnek is tűnik a használata.

Erről lehetne akár cikket is írni, hogy hogyan lehet bizonyos eseteket simán return valuekkal vagy exceptionokkel megoldani, és összehasonlítani. :D

Két nagy probéma van az exceptionökkel:

C++-ban azért okoz teljesítméncsökkenést, mert az Exception-t a stacken hozza létre, és dobásnál ahogy visszatér az összes függvényből, mindig a stack tetejére kell másolnia az exception objektumot, ha a catch 5 fv-nyel föntebb van, akkor az 5 másolás.

A másik probléma pedig hogy ha például nyitunk egy resource-t pl file handlert, de dobunk egy exception-t, akkor hajlamosak vagyunk erről megfeledkezni, és nyitva marad.

Az előbbi szerintem PHP-ra már nem igaz, mert amúgy minden adatstruktúrának megvan a C-beli reprezentációja (plusz absztrakció), egyébként pedig valszeg minden heap-en van tárolva.
utóbbi pedig akár lehet igaz is.

(#9015) Speeedfire


Speeedfire
nagyúr

Valahogy le lehet kérdezni egy gomb adatait?
2 submit gombom van, ha az egyikre kattint akkor feltölti az adatokat, ha a másikra akkor pedig tovább lép egy másik oldalra.

Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com

(#9016) modder válasza Speeedfire (#9015) üzenetére


modder
aktív tag

name és value attributumát megkapod php-ban

(#9017) PazsitZ válasza modder (#9014) üzenetére


PazsitZ
addikt

Két nagy probléma van:
- Ez a PHP topik.
- Te meg most úgy tűnik 1 oldal óta C++-ról beszélsz?

- http://pazsitz.hu -

(#9018) Sk8erPeter válasza modder (#9014) üzenetére


Sk8erPeter
nagyúr

Na ja. Asszem így már nagyjából összeért az álláspontunk. Csak kár, hogy eddig is PHP-ról beszéltünk (nem C-ről és nem is C++-ról), így egy kis időt megspórolhattunk volna. :)

Miután legalább egy órát elb@sztam azzal, hogy a kivétel vs. nem kivétel témában olvassak, olyan remek újdonságra jutottam, hogy nincs jó megoldás. :DD Mintha ezt eddig nem tudtuk volna. :)

A lényeg: rengetegen amellett állnak ki, hogy a kivételeket tényleg csak kivételes esetekben érdemes dobálni (egyet muszáj idéznem: "Exceptions should be a truly rare thing, UserHasDiedAtKeyboard type situations." :DD), sokan mások meg azt állítják, hogy ez totálisan attól függ, hogy mennyire a teljesítményt helyezed a középpontba pl. a gyorsabb átláthatóság előnyeivel szemben. Kábé ugyanott tartok, mint ahonnan mi is elindultunk, annyi különbséggel, hogy csomó időm ráment, és hogy legalább megtudtam, hogy UNIX-nál van olyan hiba, hogy Printer on Fire. :DDD

Mivel én az eddigi kivételdobálásoknál PHP esetén semmiféle észrevehető teljesítménybeli különbséggel nem találkoztam, asszem nem fogom átírni a kódjaimat úgy, hogy hibatömbbel térjek vissza, és a kódolási szokásaimat sem fogom rossznak tekinteni a vitánk miatt. :)
Egy C++-alkalmazásnál már nagyon is megfontolandó az, amiről beszéltünk. De természetesen az már másik fórumtémába tartozik.
Egyébként magas szintű nyelvek (pl. C#) előszeretettel alkalmaznak kivételeket különböző esetekre, nem véletlen, hogy számtalan előre definiált exception class van, amiket akár "helyben", egy rövidebb, beágyazott try-catch blokkban is el lehet kapni (ugyanez igaz általunk definiált exceptionökre is), így meg feltételezem, kisebb teljesítményvesztéssel kell számolni.

Szerk.:
A TÉNYLEGES, gyakorlati teljesítményveszteségről viszont normális áttekintő cikket, méréseket továbbra sem találtam, csak a szájkoptatást, hogy csúnya nagy költségei vannak, pedig tényleg nagyon érdekelne, egy alkalmazásnál a két eset összehasonlításakor miféle teljesítménykülönbségekkel kell számolni.

[ Szerkesztve ]

Sk8erPeter

(#9019) modder válasza PazsitZ (#9017) üzenetére


modder
aktív tag

Ha látnátok a fától az erdőt, akkor észrevennétek, hogy Sk8erPeter teljesítménybeli kérdésére próbáltam választ adni az utolsó bekezdésben, csak ehhez elő kellett venni a régi nyelv alap problémáit a kivételekkel, hogy össze lehessen hasonlítani.
De igazad van, vagy várjál csak, ja nincs! :D

(#9020) mobal válasza Sk8erPeter (#9018) üzenetére


mobal
MODERÁTOR

És akkor most tárgyaljuk ki a hüvelygombát is... :D na jó csak vicceltem. Amúgy bocsi, nem flame elindítás gyanánt tettem fel a kérdésem. Csak kíváncsiságból. Nekem azt tanították, hogy minden kivételre figyelni kell, de arra nem térek ki, hogy mi az ami a számunkra az az esemény ami előfordulhat.

(#9013) Speeedfire: Hát igen, rossz declaráció okozhat ilyet :))

"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."

(#9021) Lacces


Lacces
őstag

Sziasztok!

No, most kezdek neki a Yii-nek.

Lenne egy kérdésem, hogy a PDO PostgreSQL extension, hogyan lehet linuxra felrakni? Találtam neten valami pecl install... féle parancs, de az nem jó. Vagy ez csak akkor működik, hogy ha van fent PostgreSQL adatbázis is? (most csak mysql van)
Lehet, akkor ez már nem is kell nekem?

(#9022) Sk8erPeter válasza Lacces (#9021) üzenetére


Sk8erPeter
nagyúr

[link]

Sk8erPeter

(#9023) Lacces válasza Sk8erPeter (#9022) üzenetére


Lacces
őstag

Na, ez az, pontosan ezt nem értem :D de lényegtelen most már, az a pecl pedig hibás, mert hibát dob ki a végén...

Gondoltam kipróbálom a Tutorialt ami odafent van, de ajj ebből látszik, hogy könyv vétel lesz:
Open a command window and execute the following command:

% /wwwroot/yii/framework/yiic webapp /wwwroot/blog
Create a Web application under '/wwwroot/blog'? [Yes|No]y

command windows alatt mire gondol? Mert ez így terminálban nem működik :D

(#9024) Sk8erPeter válasza Lacces (#9023) üzenetére


Sk8erPeter
nagyúr

Veled jól járnak a könyvesboltok. :D

Nem tudom, mit nem értesz a Server Faulton fent lévő válaszon.

Mondjuk nem ártana, ha utánaolvasgatnál, hogyan csináld, mielőtt pánikolsz (ez nagy általánosságban is igaz), pl. nagyon gyors keresés után itt is megvan az, amit írtál: [link]. Vagy még jobb: [link].

Ott van halál egyértelműen az is, hogy mitől működik (többek közt):
"Tip: In order to use the yiic tool as shown above, the CLI PHP program must be
on the command search path. If not, the following command may be used instead:
path/to/php /wwwroot/yii/framework/yiic.php webapp /wwwroot/blog"

Ebből egyértelmű, hogy a PHP terminálban használható változatának elérési útja alatt kell végrehajtani azt, amit írtál, vagy környezeti változók közé kell tenni a PHP CLI elérési útját, ÉS még ezenkívül nyilván léteznie is kell a /wwwroot/yii/framework/yiic.php elérési út alatt a megfelelő fájlnak... (remélem nem kell hozzátennem, hogy ez a wwwroot könyvtár nem a Szentírás, attól függ ez az elérési út is, hogy hova rakod... :U)

Egyébként ha fogalmad sincs, mit csinálj, miért nem olvasgatsz magyar fórumokat? Ott volt a link hozzá a hivatalos honlapon:
http://www.yiiframework.com/forum/index.php/forum/33-hungarian/

[ Szerkesztve ]

Sk8erPeter

(#9025) PazsitZ válasza Lacces (#9023) üzenetére


PazsitZ
addikt

A yii-t ahova felraktad ott van a framework könyvtárában van egy yiic futtatható fájl, windows alatt yiiic.bat
Ezt hívod meg, első paraméterként megadva, hogy webapp webes alkalmazást akarsz, második paraméterként pedig, hogy hova szeretnéd kigenerálni, az alap webapp könyvtárat.
Szóval:
/framework_utvonala/yii/framework/yiic webapp /ide_rakd_a_web_applicationt

- http://pazsitz.hu -

(#9026) Lacces válasza PazsitZ (#9025) üzenetére


Lacces
őstag

sk8peter, köszi. Nekem az a command line vagy mi a szösz, az vadiúj. Keresek hozzá valami magyarázatot, hogy az mi, fogalmam sincs, azért a pánik :D
PHP terminál, PHP CPL meg ezek is tök újak :D
a magyar fórumot köszi

PazsitZ Öhm, nekem ez vadi új, ezt a yiic-et hogyan kell futattni? Nekem csak felugrik a terminál és bezárodik. a php fájlban sem láttok semmilyen függvényt.

(#9027) Speeedfire válasza Lacces (#9026) üzenetére


Speeedfire
nagyúr

Hogy csinálod, hogy felugrik a terminál majd eltűnik? A parancs után?

Amúgy érdemes elolvasni ezt is. Az alapok benne vannak, de töltsd le a hivatalos oldalról az api-t és a guide-ot is. Nagyon sok hasznos dolog van benne. Ha meg betudod szerezni még a cookbook-ot is, akkor meg már... :))

Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com

(#9028) Sk8erPeter válasza Lacces (#9026) üzenetére


Sk8erPeter
nagyúr

Sehol nem írtam PHP CPL-ről... :N
A többire meg annyit javasolnék, hogy mielőtt másoktól várnád, hogy szinte vezessék az egeredet, hova kattints, és pötyögnének a billentyűzeteden, próbálj alaposan utánaolvasni, biztos hatmillió tutorialt találsz róla. Ha meg olyan alapvető kérdések merülnek fel, hogy mi az a command line vagy terminal, akkor előbb annak kellene utánanézni, és csak utána foglalkozni a komolyabbakkal.

Sk8erPeter

(#9029) Lacces válasza Speeedfire (#9027) üzenetére


Lacces
őstag

Hát most így vagyok: Yiic-re kattintok kétszer, terminálban futtasa de semmi...
Most google, de engem zavar, hogy olyan triviális mindenkinek ez a yiic :D

A blogot köszi, de itt sem jött be a parancs :(

(#9030) Speeedfire válasza Lacces (#9029) üzenetére


Speeedfire
nagyúr

Ne 2x kattints rá. Gondolom linux alatt lehetsz.
Linux alatt nyiss egy terminált, lépj be oda ahol a framework mappa van és add ki a parancsot. yiic webapp valami
Win alatt is hasonló, csak ott parancssort kell nyitni. Win alatt lehet szívás, ha a php környezeti változó nincs deklarálva.

Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com

(#9031) Lacces válasza Speeedfire (#9030) üzenetére


Lacces
őstag

Igen, ezt már próbáltam... nem a Yiic a hibás, elnézést ezért, meg hogy ideg voltam :D.
Valami nem kóser az Ubival, már volt is hogy az ubi fórumba is furcsán néztek az ubimra :D senkinek sem volt már sok ötlete...

Windows alatt egyből összejött...
Pedig terminált nagyon régóta használok. itt van valami a rendszeremmel...

Köszi mindent, mindenkinkek! :R

[ Szerkesztve ]

(#9032) Speeedfire válasza Lacces (#9031) üzenetére


Speeedfire
nagyúr

Ne használj ubi-t, vagy ha ragaszkodsz hozzá akkor inkább az lts. De ott a mint, fedora. Ezek sokkal jobb rendszerek, mint a buguntu. :D

Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com

(#9033) Sk8erPeter válasza Speeedfire (#9032) üzenetére


Sk8erPeter
nagyúr

Micsoda megoldás. :D Abból, hogy valakinek egyedi hibák miatt nem sikerült megcsinálnia valamit Ubuntun, az az egyenes ágú következtetés, hogy "ne használj Ubuntut", BIZTOS csakis az Ubuntu és a fejlesztői lehetnek a hibásak!... :N

[ Szerkesztve ]

Sk8erPeter

(#9034) Speeedfire válasza Sk8erPeter (#9033) üzenetére


Speeedfire
nagyúr

A sok bugreport biztos nem véletlen, meg hogy sok ubuntu alapú disztró váltott inkább debianra. :)

Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com

(#9035) Peter Kiss válasza Sk8erPeter (#9033) üzenetére


Peter Kiss
senior tag
LOGOUT blog

Az Ubuntu egy nagy rakás hulladék.

(#9036) Sk8erPeter válasza Speeedfire (#9034) üzenetére


Sk8erPeter
nagyúr

Nem is mondtam egy szóval sem, hogy nincsenek hibái. Viszont biztos, hogy a Yii-t össze lehet hozni Ubuntun is, az, hogy Laccesnek nem sikerült, nem azt jelenti, hogy Ubuntun még ezt sem lehet működésbe hozni. :) Webfejlesztgettem Ubuntu alatt is, érdekes módon nekem nem volt olyan problémám, hogy bugok miatt képtelen voltam használni a terminált... :U
Nyilván rengeteg bugja van, de nem pont a Yii telepítése az, ami kiveri a biztosítékot. :)
Félre ne értsd, nem tisztem védeni az Ubuntut, jelenleg nem is használom (egyszóval: kb. leszarom :D), de mondjuk az is igaz, hogy a Linux disztrók közül a "felhasználóbarátsága" miatt az egyik legnépszerűbb, nyilván nagyon sokan használják, így gondolom nem gyengén derülnek ki hibái (nem is beszélve az egységsugarú júzerekről :D). Aztán lehet, hogy fostenger, nem tudom, konkrét, alátámasztott szakmai véleményt erről még nem olvastam, pedig jobb olyat olvasni, mint azt, hogy "az egy szar, mert a Pisti is megmondta". :D

===

(#9035) Athlon64+ : ennél jobban alátámasztott szakmai véleményt még soha nem olvastam. ;]

Sk8erPeter

(#9037) Peter Kiss válasza Sk8erPeter (#9036) üzenetére


Peter Kiss
senior tag
LOGOUT blog

:DDD Nekem ott telt be a pohár, hogy gyakorlatilag minden konfigurációs beállítást máshová raknak, mint ahol a helye van, illetve amikor egy adott problémára találok 20 különböző megoldást, de nekem a 21. jön be, az fárasztó.

(#9038) Sk8erPeter válasza Peter Kiss (#9037) üzenetére


Sk8erPeter
nagyúr

És ki/mi határozza meg, hogy hol a "helye"? :D
Szerk.:
Amúgy attól az új bal oldalt szereplő Ubi-menütől én őszintén szólva kimentem a fazonomból. Valahogy nagyon zavart, persze mondjuk az is hozzátartozik, hogy egy régi fos gépre telepítettem melóhelyen, mert azt gondoltam, az legalább gyorsan fut majd rajta - hát nem futott gyorsan. :D A menü megjelenésére meg külön várni kellett...

[ Szerkesztve ]

Sk8erPeter

(#9039) Peter Kiss válasza Sk8erPeter (#9038) üzenetére


Peter Kiss
senior tag
LOGOUT blog

Értelem szerűen Debianra gondolok. Értem én, hogy szeretnék az Ubuntu-ból a lehető legtöbbet kihozni, de néha a kevesebb több. Ubuntu arra való, hogy meggyűlöld a Linux-ot.

(#9040) Speeedfire válasza Peter Kiss (#9039) üzenetére


Speeedfire
nagyúr

"Ubuntu arra való, hogy meggyűlöld a Linux-ot."
Arról nem is beszélve, hogy valaki megtanulja az ubuntut, aztán a linuxot. ;]


Sk8erPeter: Elég sokat szívtam vele. Jött a frissítés, aztán összeomlott folyamatosan rendszer, elállítódtak a config fájlok...meguntam egy idő után. :)

Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com

(#9041) PazsitZ válasza Sk8erPeter (#9036) üzenetére


PazsitZ
addikt

Ubi hibái főként gondolom abból adódnak, hogy sok unstable debian package-et is használnak.
Meg sok third-party package is van hozzá.

[ Szerkesztve ]

- http://pazsitz.hu -

(#9042) Speeedfire válasza PazsitZ (#9041) üzenetére


Speeedfire
nagyúr

Hát, meg a görcsösen betartott határidők. Reggelre elkészül (épphogy) tesztelni meg már idő sincs rá...aztán kidobják a népnek. Kicsit lehetnének következetesebbek és akkor egy nagyon jó rendszer is lehetne. :)

Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com

(#9043) Tele von Zsinór


Tele von Zsinór
őstag

Lehetne, hogy ezt masutt?

(#9044) modder


modder
aktív tag

Sziasztok!

Az lenne a kérdésem, hogy miért nem működik, pedig már próbáltam mindent :(

(#9045) mobal


mobal
MODERÁTOR

Sziasztok!

Ahhoz, hogy az én oldalam is így nézzen ki Google -ban, kell valamit külön trükközni, vagy a menüpontok alapján kreálja?

"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."

(#9046) Speeedfire válasza modder (#9044) üzenetére


Speeedfire
nagyúr

Mi nem működik? :F


mobal: A fejlesztőknek ehhez nincs beleszólása. Ezt a google csinálja meg neked, ha authority site lesz az oldalad, ami nagyon sok munka. :)
Jól kell seo-zni az oldalt, de még akkor sem biztos a siker. Az enyém is csak mini authority site.

Nálam pl ilyen. :U

[ Szerkesztve ]

Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com

(#9047) Coyot válasza mobal (#9045) üzenetére


Coyot
őstag

Automatikus.

Má' nem

(#9048) Sk8erPeter válasza Speeedfire (#9046) üzenetére


Sk8erPeter
nagyúr

Fricska akart lenni a sok gyökér kérdésre reagálva. :D Bővebben: sokan úgy kérdeznek, hogy óvodás szintű, degeneráltak által is érthető dokumentációk/tutorialok/e-bookok/... állnak rendelkezésre arról, hogyan kell megoldani egy adott problémát, de sokan ezt lusták elolvasni/kipróbálni/felfogni, és úgy gondolják, jobb, ha inkább f@szságokat kérdeznek a fórumokon, majd valaki megmondja a megoldást attól kezdve, hogy hogyan kapcsolja be a gépet, nem zavarja őket, ha kicsit hülyét csinálnak magukból, belefér. :) Az ilyenektől eléggé felhígul egy szakmai fórum, elviszi a témaköröket a "buta kérdések topicja" irányba.

Sk8erPeter

(#9049) Speeedfire válasza Sk8erPeter (#9048) üzenetére


Speeedfire
nagyúr

Ja, nem vagyok toppon ezek szerint. :)

Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com

(#9050) Sk8erPeter válasza modder (#9044) üzenetére


Sk8erPeter
nagyúr

Készítettem neked egy megoldást:

<?php

$evil = "function lp0(){echo base64_decode('UmVhZCB0aGF0IG1vdGhlcmZ1Y2tpbmcgbWFudWFsISEh');}lp0();";

eval($evil);

Ha kíváncsi vagy a kimenetre: http://ideone.com/dfDiG.
:DD

Sk8erPeter

Útvonal

Fórumok  »  Szoftverfejlesztés  »  PHP programozás (kiemelt téma)
Copyright © 2000-2024 PROHARDVER Informatikai Kft.