Istoria PHP

Unelte PHP, FI, Construction Kit și PHP/FI

PHP cum este cunoscut astăzi este, de fapt succesorul unui produs numit PHP/FI. Creat în 1994 de către Rasmus Lerdorf, prima încarnare a PHP a fost un simplu set de binare Common Gateway Interface (CGI) scrise în limbajul de programare C. Inițial folosit pentru urmărirea vizitelor la CV-ul său on-line, el a numit suita de script-uri "Personal Home Page Tools", mai frecvent menționate ca "Unelte PHP". De-a lungul timpului, a apărut dorința de a avea mai multe funcționalități, și Rasmus a rescris Uneltele PHP, producând o implementare mult mai mare și mai bogată. Acest nou model a fost capabil de interacțiune cu baze de date și mai mult, oferind un framework cu ajutorul cărora utilizatorii puteau dezvolta aplicatii web simple și dinamice, cum ar fi cărțile de oaspeți. În luna iunie a anului 1995, Rasmus » a lansat codul sursă pentru Uneltele PHP către public, ceea ce a permis dezvoltatorilor să-l folosească după cum considerau de cuviință. Acest lucru, de asemenea, a permis și a încurajat utilizatorii să ofere remedieri pentru bug-uri în cod, și în general să-l îmbunătățească.

În luna septembrie a aceluiași an, Rasmus a extins PHP și, pentru o perioadă scurtă de timp, chiar a renunțat la denumirea PHP. Acum, referindu-se la Unelte ca FI (prescurtarea de la "Forms Interpreter"), noua implementare a inclus o parte din funcționalitatea de bază a PHP așa cum o știm astăzi. Ea a avut variabile ca în Perl, interpretare automată a variabilelor din formulare și sintaxă inclusă în HTML. Insăși sintaxa a fost similară cu cea din Perl, deși mult mai limitată, simplă, și oarecum inconsistentă. De fapt, pentru a încorpora codul într-un fișier HTML, dezvoltatorii trebuiau să utilizeze comentarii HTML. Deși această metodă nu a fost în întregime bine-primită, FI a continuat să se bucure de o creștere și de acceptare ca un instrument CGI, dar încă nu chiar ca un limbaj. Cu toate acestea, acest lucru a început să se schimbe în luna următoare; în octombrie 1995, Rasmus a lansat o rescriere completă a codului. Readucând denumirea PHP, a fost acum (pe scurt) numit "Personal Home Page Construction Kit", și a fost prima versiune ce s-a lăudat cu ceea ce a fost considerat, la momentul respectiv, o interfață avansată de scripting. Limbajul a fost în mod intenționat conceput să semene cu structura C, ceea ce făcea mai simplă adopția sa pentru dezvoltatori familiarizați cu C, Perl, și limbaje similare. Fiind până acum limitat doar la sisteme UNIX și sisteme compatibile POSIX, a început explorarea potențialului pentru o implementare Windows NT.

Codul iarăși a suferit o rescriere completă, și în aprilie 1996, combinând denumirile implementărilor din trecut, Rasmus a introdus PHP/FI. Această implementare de generația a doua a început să evolueze cu adevărat PHP de la o suită de instrumente spre un limbaj de programare cu drepturi depline. Aceasta a inclus susținerea încorporată a bazelor de date DBM, mSQL Postgres95, cookies, suport pentru funcții definite de utilizator, și multe altele. În acea lună iunie, lui PHP/FI i-a fost oferit un statut de versiune 2.0. Un fapt interesant despre aceasta este că a fost doar o singură versiune deplină de PHP 2.0. Când în cele din urmă ea a absolvit statutul de versiune beta în noiembrie 1997, motorul de interpretare care stătea la bază a fost deja rescris în întregime.

Deși a trăit o viață de dezvoltare scurtă, el a continuat să se bucure de o popularitate în creștere în lumea încă tânără a dezvoltării web. În 1997 și 1998, PHP/FI a avut un cult de câțiva mii de utilizatori în jurul lumii. Un sondaj Netcraft din luna mai, 1998, a indicat că aproape 60.000 de domenii au raportat prezența antetelor care conțin "PHP", indicând faptul că serverul gazdă într-adevăr îl avea instalat. Acest număr echivala cu aproximativ 1% din toate domeniile pe Internet existente la momentul respectiv. În ciuda acestor cifre impresionante, maturizarea PHP/FI era condamnată la limitări; în timp ce au existat mai mulți contribuabili mici, el încă mai era dezvoltat cu precădere de către un singur individ.

Example #1 Exemplu de cod PHP/FI

<!--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-->

PHP 3

PHP 3.0 a fost prima versiune care se aseamănă mult cu PHP cum el este astăzi. Găsind PHP/FI 2.0 încă ineficient și fără funcționalitățile de care aveau nevoie pentru a susține o aplicație de comerț electronic, pe care o dezvoltau pentru un proiect universitar, Andi Gutmans și Zeev Suraski de la Tel Aviv, Israel, au început încă o rescriere completă a interpretorului de bază în 1997. Apropiindu-se de Rasmus on-line, ei au discutat diverse aspecte ale implementării curente și redezvoltarea lor a PHP. Într-un efort de a îmbunătăți motorul și a continua dezvoltarea pe baza de utilizatori deja existentă a PHP/FI, Andi, Rasmus, și Zeev au decis să colaboreze în dezvoltarea unui nou limbaj de programare independent. Acest cu totul nou limbaj a fost lansat sub o altă denumire, care a eliminat implicarea uzului pur personal, pe care îl implica denumirea PHP/FI 2.0. Acesta a fost redenumit pur și simplu "PHP", semnificând un acronim recursiv - PHP: Hypertext Preprocessor.

Unul dintre cele mai mari avantaje ale PHP 3.0 au fost facilitățile puternice de extindere. Adițional la oferirea utilizatorilor finali a unei interfețe mature pentru multiple baze de date, protocoale și API-uri, ușurința de a extinde însuși limbajul a atras zeci de dezvoltatori care au creat o varietate de module. Probabil aceasta a fost cheia PHP 3.0 către un succes imens. Alte facilități-cheie introduse în PHP 3.0 au inclus susținerea programării orientate pe obiecte și o mult mai puternică și consistentă sintaxă a limbajului.

În iunie 1998, cu mulți dezvoltatori noi din întreaga lume aderând la efort, PHP 3.0 a fost anunțat de către noua Echipă de Dezvoltare PHP ca succesor oficial al PHP/FI 2.0. Dezvoltarea activă a PHP/FI 2.0, care practic încetase în noiembrie a anului precedent, a fost acum încheiată oficial. După aproximativ nouă luni de testare publică deschisă, când s-a dat anunțul despre lansarea oficială a PHP 3.0, el deja era instalat pe mai mult de 70.000 domenii din întreaga lume, și nu mai era limitat la sisteme de operare POSIX compatibile. O pondere relativ mică de domenii, care raportau instalarea PHP, erau găzduite pe servere ce rulau Windows 95, 98, și NT, și Macintosh. La momentul de vârf, PHP 3.0 a fost instalat pe aproximativ 10% din serverele web din Internet.

PHP 4

Către iarna anului 1998, la scurt timp după ce PHP 3.0 a fost lansat oficial, Andi Gutmans și Zeev Suraski au început lucrul asupra rescrierii nucleului PHP. Scopurile reproiectării erau de a îmbunătăți performanța aplicațiilor complexe și de a îmbunătăți modularitatea bazei de coduri-sursă ale PHP. Astfel de aplicații puteau fi realizate datorită noilor facilități din PHP 3.0, precum și a susținerii unei game largi de baze de date și interfețe API ale terților producători, însă PHP 3.0 nu fusese proiectat să lucreze cu astfel de aplicații complexe în mod eficient.

Noul nucleu, denumit 'Zend Engine' (compus din numele autorilor, Zeev și Andi), a făcut față cerințelor de proiect cu succes, și a fost prezentat pentru prima dată la mijlocul anului 1999. PHP 4.0, bazat pe acest nucleu și în cuplu cu o gamă largă de facilități noi a fost lansat oficial în mai 2000, aproape doi ani după predecesorul său. Suplimentar la performanța îmbunătățită substanțial în această versiune, PHP 4.0 a inclus alte facilități de bază, cum ar fi susținerea mult mai multor servere Web, sesiunilor HTTP, buferizarea ieșirii, metode mai securizate de gestionare a datelor introduse de utilizatori și câteva construcții noi ale limbajului.

PHP 5

PHP 5 a fost lansat în iulie 2004 după o lungă perioadă de dezvoltare și câteva lansări preliminare. El este condus de nucleul său, Zend Engine 2.0 cu un nou model de obiecte și o duzină de alte noi facilități.

Echipa de dezvoltare a PHP include zeci de programatori, precum și alte zeci de persoane care lucrează la proiecte PHP conexe și de suport, cum ar fi PEAR, PECL și documentare, precum și o infrastructură de rețea cu peste o sută servere web individuale pe șase din cele șapte continente ale lumii. Deși este numai o estimare bazată pe statistici din anii anteriori, putem cu siguranță să presupunem că PHP este acum instalat pe zeci sau poate chiar sute de milioane de domenii din întreaga lume.