PHP si lze tez takto prizpusobit, sam pouzivam sablony jiz dlouho. Musel jsem si akorat napsat vlastni "Zope". Funkci echo vubec nepouzivam, pripadny nezadouci vystup (mimo <? a ?> tagy) se bufferuje a posila jako specialni promenna do sablony - lze ho vyuzit (napr. pri ladeni), ale take potlacit. Takto mohu odesilat http hlavicky kdykoli. Jen misto volani funkci v sablone pouzivam pouze promenne (zda se mi to prehlednejsi a praktictejsi). HTML vlozene za behu do sablony je pak uz ciste objektove, bez jedineho tagu v kodu. Delat celou stranku obektove bez sablon jsem zkousel, ale rezie je prilis vysoka a nikdo se v tom nakonec nevyzna. Navic editace takovych stranek neni mozna.
Chci tim jen rict, ze neni nutna Java (na vetsine hostingovych serveru stejne neni a nejspis ani nebude), totez lze udelat v PHP.
budte si jisty, ze pokud na mnoha hosting serverech java neni tak brzo bude nebo to neni potreba, nebot veliky projekt, ktery si napr. nekdo necha napsat uz mu stoji i za vlastni vyhrazeny server a nestoji o sluzby hostingu.
rozmanitost je kazdopadne ku prospechu veci a je dobre, ze existuje mnozstvi app. serveru jako tomcat, jetty, zope, ...
pro me je java kazdopadne lepsi volba:
- standardizace jazyka (aby se jako v php pri prechodu z verze x na y nestalo, ze mi interpreter verze $x vyhodnoti vyraz jako true a v $y jako false),
- bezpecnost
- enormni podpora ze stran firem/projektu jako IBM, GNU (gcj), projekt jakarta@apache (ooobrovity framework - namatkou prave servlet & jsp kontejner tomcat, regexp, lucene ( vyhledavani v textech ), velocity, ... viz. http://jakarta.apache.org), samozrejme SUN
ano, muzete si vybirat co pouzijete, neda se rict, ze by prave jeden konkretni produkt/technologie byl/a pouzitelny/a vsude. da se rict, ze spoustu veci napisete s vetsim ci mensim usilim jak v php, tak jave nebo cemkoliv jinem (cgi), ale java je a zustava asi nejlepsi volbou (i diky otevrenosti - nikdo vam nebrani si nejpomalejsi cast prepsat do C a spolupracovat skrze JNI).
tot muj pohled na vec, p.
...bohužel, nemám tolik znalostí o jave jako Vy, ale každopádně co se týče vzájemné kompatibility, tak bych se zde zrovinka s javou nad PHP moc nevytahoval. Jistě, nelze dost dobře porovnávat interpretovaný jazyk s ""plnohodnotným oo jazykem"", ale několik větších aplikací jsem již pod javou rozcházel a věřte, dohledávat jaká verze od jakého dodavatele je potřebná, pro tu, či onu aplikaci je poměrně otravné.
U bezpečnosti především záleží na programátorech, jsou-li schopni bezpečnostní prvek do systému korektně implementovat, či ne. Bohužel, nejslabší článek u PHP je kvalitní IDE, kterých je naopak pro javu nespočet. Existuje sice PHP Coder, Zend IDE, PHP Edit a další, ale bohužel, ještě to není ono.
Mějte všichni příjemné Velikonoce!
jen si dovolim poopravit, java neni standartizovana!
sun stahl javu z ecma a tudiz vam nikdo zadny standard nezaruci :-)
ale jinak je java fajn a urcite se jako jazyk pro aplikacni servery velice hodi
i kdyz ja osobne pro dynamicka webova rozhrani nejradeji ASP.NET (hlavne nezacinejte flamewar, proste se mi to libi, muj osobni nazor a vymluvit si ho nedam :-)
Samozrejme mate pravdu, ze PHP nebylo primarne OOP. Taky mne to na nem stve, ale ze vseho nejvic mne stve mnozstvi "->", stredniku, zavorek... Kdyz uz se u Zendu inspirovali v C, mohli udelat jazyk bez techto problemu.
Vydali se vsak cestou MS-DOSu, tj. nejdriv to udelame ocesane a pak budeme vylepsovat pres Win95 az k WinXP, z cehoz plyne jak masove rozsireni, tak i nekompatibilita verzi.
PHP je, myslim, pro hostingove servery bezpecnejsi, protoze nedovoli, uz ze sve omezene podstaty, delat nic jineho :)
Presto jsou velke projekty v PHP (viz centrum.cz), ktere bez problemu funguji, ono je to o tom, jake "zaklady" si vybudujete. V Jave je mate jiz od vyroby.
Nechcem tu vyvolavat dalsie plamene nenavisti, ale len pridat skusenosti s roznymi jazykmi a nastrojmi pre vytvaranie stredne velkych databazovych aplikacii pre internet. Mam dlhorocne skusenosti s jazykmi ASP (VBScript a ActiveX komponenty), ColdFusion, PHP, Python a Java.
1. technologie od M$ - M$ vam da pekne vyvojove prostredia ale nic vas nenauci o spravnej architekture webovej aplikacie, softwarovom inzinierstve atd. Taktiez som bol castokrat nestastny z bugov ktore obsahovala technologia ASP (rok 1998).
2. ColdFusion - prijemny tagovaci jazyk. Velmi spolahlivy, lahko pochopitelny pre vsetkych (admin, programator, designer). Bohuzial komercny produkt a drahy, t.j. prakticky nepouzitelny v CR a SR. (1998- az do dnes pre projekty v zapadnej EU)
3. Python a ZOPE - Moje stretnutie s nim prebehlo v roku 2001. Toho casu to bola zaujimava technologia, ale po niekolkych mesiacoch sme od neho upustili. Chcete vediet preco? Mala rozsirenost jazyka Python a teda aj hotovych komponent a nastrojov. Zo strany zakaznika boli pozadovane interface na ine webove a serverove aplikacie, co bohuzial bolo toho casu v Pythone nemozne. Taktiez s podporou databaz to bolo slabe. Rovnako musim suhlasit s pripomienkou, ze programovat webovu aplikaciu len cez webove rozhranie je velmi neprakticke. No tych neprijemnych zisteni bolo este viac ...
4. PHP - Tento jazyk je to prave pre male projekty obzvlast pre podmienky SR. Jeho sila je prave v OpenSource. Pre vlastnu potrebu sme dokonca portovali niektore principy architektury webovych aplikacii ziskane z Javy. Konkretne sa jedna o MVC (Model-View-Controller, napr. http://www.eocene.net, http://sourceforge.net/projects/phpmvc), pouzivame templatovaci engine SMARTY (http://smarty.php.net/) a transparentnu databazovu vrstvu na baze ADODB (http://php.weblogs.com/ADOdb). Pre vyvoj pouzivame vynikajuce Eclipse (http://www.eclipse.org) s pluginom PHPEclipse (http://sourceforge.net/projects/phpeclipse/).
5. Java - bez dlhych reci: Ak potrebujete technologiu pre vacsi projekt, tak jedine Java. Java vas "nenecha na holickach". Za tymto tvrdenim si 100% stojim. Na baze J2EE sme realizovali velky B2B web s napojenim na rozlizny software (napr. SAP, CommerceOne). Neviem si predstavit ako by sa take nieco robilo v PHP alebo Pythone.
6. M$ .NET - nemam prakticke skusenosti.
Praktické zkušenosti - poučili se z Javy, JSP a servletů, spoustu věcí předělali, je to výborné. Navíc se tam opravdu krásně nechá oddělit programový kód od rozhraní - jenom prostým použitím dědičnosti, neboť šablony jsou obvykle založeny na třídách umístěných ve zkompilovaných knihovnách, čili můžou dědit proměnné, volat funkce atd.
Bohužel Mono (opensourcová verze Frameworku) je stále ještě v plenkách, alespoň z pohledu vývoje pro ASP.NET (byť už existuje i raná beta modulu pro Apache), takže v současné době je .NET použitelný jen pod Windows. Prý už je alespoň nějaký ASP.NET modul pro Win32 Apache, ovšem není free. Na druhou stranu pokud vím, už jsou k dispozici pluginy pro nemicrosoftí IDE, před časem jsem viděl třeba nějakou C# podporu do Eclipse.