25 év PHP röviden
[1995 - 1998] PHP Tools, FI, és PHP/FI
A PHP ahogy azt mai formájában ismerjük örököse egy úgynevezett PHP/FI nevű terméknek.
Rasmus Lerdorf 1995-ben kiadta a legelső változatát, ami csak egy CGI-programok halmaza volt és C nyelven íródott. Eredetileg Rasmus a saját oldalának a karbantartására használta, majd ezt a kódkészletet “Personal Home Page Tools”, vagyis PHP Tools-nak hívta. A szintén ő általa írt Form Interpreter (űrlap-értelmező) alkalmazással összekombinálva a kettőt, hozta létre 1996-ban a PHP/FI-t ami immár sokkal több funkcióval bírt.
<!--include /text/header.html-->
<!--getenv HTTP_USER_AGENT-->
<!--ifsubstr $exec_result Mozilla-->
Hey, you are using Netscape!<p>
<!--endif-->
<!-- sql database select * from table where user=’$username’-->
<!--ifless $numentries 1-->
Sorry, that record does not exist<p>
<!--endif exit-->
Welcome <!--$user-->!<p>
You have <!--$index:0--> credits left in your account.<p>
<!-- include /text/footer.html-->
[1998 - 2000] PHP 3
A PHP 3.0 volt az első olyan verzió ami a leginkább hasonlított a nyelv mai formájához.
1997-ben csatlakozott a projekthez két izraeli fejlesztő: Zeev Suraski és Andi Gutmans, akik segítségével megszületett a PHP: Hypertext Preprocessor. Együttes erővel 1997 novemberében kiadták a PHP/FI 2-t, majd további fejlesztések után kiadták 1998-ban a PHP-t. Ekkor már több mint 70,000 domainre lett feltelepítve világszerte, nagyjából az akkori összes internetes webszerver 10%-án használták.
<?php echo("Hello world"); ?>
<? echo ("Hello world"); ?>
<script language="php">
echo ("Hello world");
</script>
<% echo ("Hello world"); %>
<%= "Hello world" %>
[2000 - 2004] PHP 4
Nem sokkal a PHP 3.0 kiadása után, Andi Gutmans és Zeev Suraski elkezdték a PHP magjának újragondolását.
Az új “Zend Engine” amit a kettőjük nevét összekombinálva találtak ki, volt az alapja az új 4.0 verziónak, amit 2000-ben adtak ki. Sokat fejlődött a nyelv, így sokkal biztonságosabb volt a felhasználók adatainak kezelése és több webszervert is támogatott.
[2004 - 2015] PHP 5
A “Zend Engine II” volt az alapja az újonnan megjelent 5.0 verziónak, ami nagyon sok újítást hozott magával.
Hosszas fejlesztési folyamat után megjelent 2004-ben, de eredetileg ezeket a funkciókat a PHP 6-ban használták volna fel, viszont problémákba ütköztek a Unicode támogatással. Minden olyan változtatás amivel nem volt ennyi probléma, felhasználták a PHP 5 különböző verziójaiban. A többi kijavításra szoruló funkció problémáinak megoldásával akarták kiadni a 6.0 változatot.
[2005 - 2010] PHP “6”
A projektet 2005-ben Andrei Zmievski vezetésével ráirányították arra, hogy a nyelv támogassa a natív Unicode-ot a PHP-n keresztül az ICU könyvtár beágyazásával. Mivel hiány volt azokból a fejlesztőkből akik értették a fontosságát a változtatásoknak és a teljesítményt gyengítő problémáknak, amit az UTF-16-ból/-ba való átalakítás okozott, ezért a PHP 6 sosem jelent meg.
[2015 - 2020] PHP 7
Több év fejlesztés és egy az előző verzió miatt kialakuló zűrzavar után egy végleges szavazással eldöntve kiadták a PHP legújabb 7.0 példányát. A “Zend Engine 3” újragondolásával és rengeteg új funkció, illetve a majdnem 100%-os teljesítmény ugrás elérése miatt úgy döntöttek, hogy nem az 5.0 verziónak egy folytatását adják ki, hanem továbblépnek és bemutatják a 7.0-t.
Néhány újítás:
- A list() operátor viselkedése megváltozott, nem támogatva a stringeket.
- A syntax a változók megkülönböztetésére sokkal hatékonyabb, ezzel új operátorokat használhatunk mint például: ->, [], (), {}.
- Néhány osztályba beépített konstruktorok amik eddig NULL-t adtak vissza, megváltoztatásra kerültek, így egy “exception”-t dob vissza a következetesség érdekében.
- A foreach statement viselkedése sokkal kiszámíthatóbb lett.
[2020] PHP 8
November 26-án fog megjelenni a PHP 8, amiről hamarosan részletesebben beszámolunk.