Před nedávnem oficiálně vyšla verze PHP 5. Co nového nás v ní čeká?
A je potřeba udělat přechod z "čtyřkové" verze na "pětkovou" co
nejdříve?
Historie verzí PHP
Jak prochází PHP vývojem, objevují se nové verze. Číslo hlavní verze
jazyka však zatím bylo změněno pouze čtyřikrát. Připomeňme si, že PHP 1
(i když se to vlastě jmenovalo PHP/FI, personal home page/form
interpreter) vyšlo již v roce 1995. Verze PHP 2 byla uvolněna v
listopadu 1997 a zaznamenala už výraznější úspěch. V červnu 1998 byla
potom uvolněna verze PHP 3.0, která způsobila onen boom okolo používání
PHP. V této souvislosti stojí za zmínku, že PHP 3.0 bylo
modulární a daly
se k němu "připisovat" například knihovny pro připojení databází. Možná
právě to způsobilo, že se "trojkové" verze PHP tak rozšířily.
Nicméně, stále se pohybujeme v roce 1998, takže v době, kdy byl psán
tento článek, již uběhlo od vydání "trojky" více než 6 let. Zjistilo se
například, že moduly jsou hezká věc, ale v kombinaci s více uživateli
jednoho stroje s PHP se celé zpracování požadavků dosti výrazně
zpomaluje. Proto byla v květnu roku 2000 uvolněna úplně nová verze PHP
(4.0), která obsahovala zcela přepracované a tudíž rychlejší jádro
Zend.
Pozn.: Pokud by to někoho zajímalo -
bylo toho dosaženo změnou filozofie zpracování souboru. PHP 3
zpracovávalo zdrojový kód sekvenčně, PHP 4 jej celý zkompiluje a pak
spustí. Čím je skript delší a složitější, tím je nárůst výkonu mezi
PHP4 a PHP3 výraznější.
Když už jsme se ponořili do historie, vybírám namátkou některé
podstatnější změny, které přineslo PHP 4:
Většina těchto změn byla přijata kladně komunita vývojářů je začala
okamžitě používat. Například sessions se staly nedílnou součástí mnoha
dnešních aplikací. Podívejme se nyní na změny, které přineslo PHP 5,
vydané oficiálně v polovině roku 2004.
PHP 5
PHP 5 přineslo celou řadu změn a vylepšení. Některá podstatnější
uvádím níže.
Vylepšené jádro zend-engine II
Toto jádro obsahuje spoustu nových funkcí, zejména pokud se jedná o
práci s objekty. Zvídaví uživatelé se mohou podívat na stránky projektu
ZEND, kde se dozvědí detaily.
Nové vlastnosti objektů
Pokud chcete v PHP pracovat s objekty (nebo, pokud jste to chtěli již
dávno, ale zjistili jste, že to u náročnějších aplikací není skoro
vůbec možné), PHP5 vám přináší mnoho nových vlastností. Můžete používat
privátní, chráněné a veřejné proměnné, zlepšené je použití konstruktorů
a destruktorů. Je zavedena podpora interface a abstraktních tříd.
Vylepšená práce s chybami
Moderní programovací jazyky mají tzv. strukturovanou správu chyb. PHP5
nabízí sice odlehčenou, přesto však strukturovanou správu chyb pomocí
třídy Exception. Existují bloky try {} a catch {} (nikoli však
finaly{}).
Kompletně přepsaná podpora XML
To je jedna z nejlepších zpráv kolem nové verze. PHP 5 spolupracuje s
knihovnou libxml2 (vyvinutou
původně pro Gnome) a navíc přináší rozhraní SimpleXML. Simple XML je
rozhraní pro zpracování dokumentů XML, které načte informace z XML
dokumentu do hierarchicky uspořádaných objektů, což je jak rychlé na
napsání, tak rychlé na pochopení. (Zde je
příklad).
Sada pro připojení MySQL 4.1
Pro připojení k MySQL 4.1 bylo vyvinuto v PHP 5 rozhraní mysqli. Je to
rozhraní objektové, takže napříště budete moci psát skripty pro
připojení k MySQL databázi objektově. (To samozřejmě můžete už teď
pomocí vlastních tříd nebo tříd z knihoven třetích stran).
Pozn.: Tato vlastnost jazyka PHP je v
současné době době považována za hodně kontroverzní. Za všechny
nepokojené uvádím například následující úvahu.
Zabudovaná podpora SQLite
PHP 5 má zabudovanou podporu SQLite. SQLite je velmi skromný (co do
nároků na systém) databázový engine používající pro celou databázi
jeden soubor. Není to tedy databázový server ve stylu např. MySQL, ale
na jednodušší úlohy je velmi svižný a ve webových aplikacích si jistě
najde své místo. Více o SQLite se dozvíte na stránkách projektu.
Iconv
Hurá! Funkce pro konverzi znakových sad jsou součástí PHP5 interně,
takže se nebudou muset instalovat a konfigurovat zvlášť.
Upgradovat ?
Vydání nové verze PHP vždy přináší otázku: upgradovat, či ne? A jak
brzy? Na produkčních serverech tuto otázku samozřejmě budou řešit
nejspíše administrátoři. Pro programátory je dobré vědět, že existují
freehostingové projekty (například www.php5.cz),
kde si mohou své aplikace běžící v PHP5 vyzkoušet.
Bohužel se nepodařilo zachovat zpětnou kompatibilitu mezi PHP4 a
PHP5 ze sta procent. Znamená to, že přinejmenším některé skripty bude
třeba před jejich nasazením na PHP5 přepsat. Budou to typicky skripty
pracující s databází či skripty využívající zpracování XML pomocí DOM.
To, jaký význam bude mít PHP5 na komunitu kolem vývoje webu je ještě
obtížné s určitostí předpovědět. My se v dalším díle seriálu zaměříme
na obecnější úvahu - jaká bude úloha PHP v budoucnu a nakolik se touto
technologií vyplatí zabývat.