Tenhle dotaz je trosku mino , ale furt se to tyka Frameworku pro WEBiky, todle vsechno zni moc prima ale rad bych zustal u PHP a jelikoz tedka se blizi jeden biig projektik zajimalo by me jaky kdo ma zkusenosti s PHP Framework a co by kdo doporucil? Co treba Seagull ?
A proč jako? Copak v PHP nelze dělat projekty, dobré projekty? Pravda, moc jsem jich neviděl, ale ve firmě, kde jsem pracoval, nyní vyvinuli velký informační systém v Perlu. A to je daleko větší maso než PHP... Mají výborný objektový návrh, funguje jim to přes WWW/SOAP/MAIL prostě paráda.
Doporučil bych člověku, co se ptá, knihu DESIGN PATTERNS (vyšla v překladu). Po seznámení s OOP pak nějakou knihu o J2EE - ne pro to, aby se z toho učil programovat v J2EE, ale spíše pro přehled možností a vzorů pro webové programování. Skvělou publikací je třeba J2EE PROGRAMMING WITHOUT J2EE, na webu stačí hledat pojem "Spring Framework".
Rady typu "PHP je na houby" nejsou asi moc na místě, ne?
Jistě. I v PHP lze psát strukturovaně, případně objektově. I v PHP lze udělat pořádný návrh IS a napojit ho k webu, ale proč ho pak vlastně psát v PHP? I v Perlu jde napsat čistě hodně velký IS a napojit ho na cokoli, ale aspoň to nebudu psát přímo do html stránek ;-)
Jistě. I v Perlu lze psát strukturovaně, případně objektově. I v Perlu lze udělat pořádný návrh IS a napojit ho k webu, ale proč ho pak vlastně psát v Perlu? I v PHPu jde napsat čistě hodně velký IS a napojit ho na cokoli, a nemusim to vůbec psát přímo do html stránek ;-)
for (LANGUAGE lng1, lng2 in AllPossibleLanguages) {
SendToDiscussion ("Jistě. I v %s lze psát strukturovaně, případně objektově. I v %s lze udělat pořádný návrh IS a napojit ho k webu, ale proč ho pak vlastně psát v %s? I v %su jde napsat čistě hodně velký IS a napojit ho na cokoli, a nemusim to vůbec psát přímo do html stránek ;-)" format: {lng1, lng1, lng1, lng2});
V PHP lze ale narozdil od vetsiny jinych jazyku psat webove aplikace extreme rychle. Zejmena pri pouziti Smarty (http://smarty.php.net/) je PHP uplne o necem jinem. Od doby co pouzivam Smarty mam pocit v PHP, ze programuji a nikoli placam spagetovy kod. Zejmena mam udelane ve svem frameworku takove veci jako nahravani modulu a dokonce i zavislosti mezi modulama, a co se tyka vykonu jsem na tom hodne dobre, navic se da i vyuzit cache. Pokud clovek navic pouzije PHP5 je se s drzenim stavu funkci uplne za vodou.
Podle me je nejvetsi otazkou psani adminu. Frontend se nejlip napise v PHP, ale ty adminy jsou o uplne necem jinem. Tady je spis vubec na diskuzi, jestli je HTTP a HTML k tomuto ucelu dobre, ja myslim, ze ani nahodou. Nekde jsem cetl o napadu napsat admin ve Flashi, s cimz sice nemam zkusenosti, ale prijde mi to dobry napad, protoze Flash je opravdova aplikace a pres XML lze do nej a z nej rychle tahat data. Pripadne je take uzitecne napsat to jako Java aplet ci neco jineho, opravdu HTML je v tomhle ohledu hodne omezujici. Ja bych rekl, ze je takrka nemozne napsat modularni design adminu s tim, ze HTML zadnou modularitu nema.
PHP je vhodné na menší aplikace, kde hlavně není moc logiky. Při větší velikosti je projekt v PHP naprosto nespravovatelný. Taky je problém když k němu příjdeš za půl roku a chceš v něm něco dodělat.
My jsme například v Spring+Hibernate udělali http://www.chcispolubydlici.cz. U tohoto typu aplikace by se PHP mozna i hodilo, ale vzhledem k tomu ze mame v planu portal rozsirovat tak jsme se rozhodli pro Spring.
Pozor, i v PHP lze psát pěkně. Na PHP spousta lidí začíná a kód většinou bývá nepřehledný, web je tvořen systémem "vlaštovčí hnízdo" a po několika úpravách je velmi obtížné se v něm upravovat. Sám jsem to tak dělal.
Podíval jsem se na Javu, chvíli jsem si hrál s Ruby on Rails a zjistil, že i v PHP jde psát pěkně, stačí jen chtít. Používám Zend Framework a jsem naprosto spokojen. Dodržuji (a snažím se k tomu přimět i ostatní) zend coding standards a snažím se hojně komentovat. Na nástroje jako je Java nebo .NET sice PHP nemá, ale občas jiná volba není a nedá se říci, že projekty v něm jsou nespravovatelné. V Javě lze taky psát jako prase.