Kako je nastao PHP
PHP je napisan u programskom jeziku C.
Točnije:
- Osnovni interpreter PHP-a (poznat kao Zend Engine) napisan je u C-u,
- a sam PHP kod koji pišu web programeri (datoteke s ekstenzijom .php) interpretira taj C program.
💡 Kratko objašnjenje:
Kad instaliraš PHP na poslužitelj (npr. Apache, Nginx ili kao CLI), zapravo koristiš kompajlirani C program koji “čita” i izvršava PHP skripte.
PHP-ova standardna biblioteka također je većinom pisana u C-u, dok ekstenzije (npr. za MySQL, GD, cURL…) koriste C API da bi komunicirale s vanjskim bibliotekama.
Zanimljivo: rani PHP (1994.–1997.) bio je zapravo skup CGI skripti napisanih u C-u, a tek kasnije se razvio u pravi jezik.
Uvod: jezik koji je promijenio internet
Danas više od 75% web stranica koristi PHP – od jednostavnih blogova do složenih sustava poput WordPressa, Facebooka ili Wikipedije. No, malo ljudi zna da je PHP započeo kao jednostavan skup CGI skripti koje je jedan dansko-kanadski programer, Rasmus Lerdorf, napisao 1994. godine samo da bi pratio posjetitelje na svojoj osobnoj web stranici.
Ta mala ideja prerasla je u jedan od najvažnijih i najutjecajnijih programskih jezika u povijesti interneta.
Početci: Rasmus Lerdorf i “Personal Home Page Tools”
Godine 1994. internet je bio u povojima, a web stranice bile su statične HTML datoteke. Ako si želio promijeniti sadržaj, morao si ručno uređivati HTML i ponovno ga učitavati na poslužitelj.
Rasmus Lerdorf želio je jednostavan način da automatski prikazuje posjetitelje svoje stranice. Umjesto da ručno ažurira brojač, napisao je male CGI programe u jeziku C koji su obrađivali podatke i dinamički generirali HTML.
Taj mali alat nazvao je “Personal Home Page Tools”, ili skraćeno – PHP Tools.
S vremenom je dodao više funkcionalnosti: obradu formi, dinamičke tekstualne poruke, rad s bazama podataka… i tako je nastao rani PHP, još uvijek pisan u C-u, ali otvoren za javnost.
PHP/FI – prva verzija pravog PHP-a
Godine 1995., Lerdorf je izdao verziju poznatu kao PHP/FI, što znači Personal Home Page / Form Interpreter.
Ova verzija bila je više od običnih skripti – sadržavala je jednostavni interpreter koji je mogao ugrađivati dinamički kod unutar HTML-a, što je bio revolucionaran koncept.
Umjesto čistog HTML-a, mogli ste pisati:
<html>
<body>
Hello, my name is <?php echo $name; ?>
</body>
</html>
Za današnje web programere ovo izgleda trivijalno, ali 1995. to je bilo čudo: web stranice su mogle “razmišljati” i reagirati na korisnika.
U to vrijeme, PHP/FI mogao je komunicirati s bazama poput mSQL i imao je osnovnu podršku za varijable, petlje i uvjete – pravi korak prema jeziku kakav danas poznajemo.
PHP 3 i rođenje Zend Engine-a
Kako je PHP rastao, tako je i zajednica programera rasla. Dvojica izraelskih programera, Andi Gutmans i Zeev Suraski, 1997. godine prepoznali su da PHP/FI više ne može zadovoljiti potrebe ozbiljnog razvoja.
Oni su napisali potpuno novi parser i runtime sustav za PHP, čime je nastao PHP 3 – prva verzija koja je imala stabilnu arhitekturu i bila sposobna za ozbiljan web razvoj.
Ova verzija, objavljena 1998. godine, postala je temelj modernog PHP-a.
Gutmans i Suraski potom su stvorili Zend Engine, osnovni C-based interpreter jezgru PHP-a, koji je objavljen 1999. i koristio se za PHP 4.
Zend Engine je ključan jer je:
- pisan u C-u,
- kompajliran kao nativni binarni program,
- interpretirao PHP kod “u hodu”,
- omogućio proširivost kroz ekstenzije.
PHP 4 i eksplozija popularnosti
S izlaskom PHP 4 (2000.), web programiranje postalo je dostupno svima.
PHP je tada imao:
- Zend Engine 1,
- HTTP sessione,
- output buffering,
- bolju podršku za web poslužitelje (Apache, IIS, CGI, CLI),
- i mogućnost povezivanja s bazama poput MySQL-a, PostgreSQL-a i Oracle-a.
To je bio trenutak kada je LAMP stack (Linux, Apache, MySQL, PHP) postao zlatni standard web razvoja.
Tisuće web stranica, foruma i CMS sustava počelo je koristiti PHP zbog njegove jednostavnosti i brzine.
PHP 5: OOP revolucija
Godine 2004. dolazi PHP 5, temeljna prekretnica u razvoju jezika.
Uveden je Zend Engine II, koji je napisan u C-u, ali s podrškom za objektno orijentirano programiranje (OOP), čime je PHP postao ozbiljan programski jezik, a ne samo skriptni alat.
Glavne inovacije PHP-a 5:
- klase, nasljeđivanje, konstruktor/destruktor,
- PDO (PHP Data Objects) za sigurno povezivanje s bazama,
- SOAP, XML i druge integrirane ekstenzije,
- bolja memorijska kontrola i performanse.
U tom razdoblju PHP postaje temelj za WordPress, Joomla, Drupal i stotine drugih CMS sustava.
WordPress i njegov preteča: od b2/cafelog do globalne dominacije
Prije WordPressa postojao je b2/cafelog, projekt koji je 2001. započeo Michel Valdrighi.
b2 je bio jedan od prvih blogging sustava napisanih u PHP-u koji je koristio MySQL bazu podataka.
Bio je otvorenog koda i omogućavao jednostavno objavljivanje članaka i komentara – nešto što tada nije bilo uobičajeno.
No, Michel je 2002. prestao održavati projekt.
Tada su Matt Mullenweg i Mike Little odlučili uzeti b2/cafelog kao osnovu, prepraviti ga i 2003. objaviti prvi WordPress.
WordPress je zadržao jednostavnost PHP-a, ali uveo:
- teme i plugine,
- admin sučelje,
- sustav za komentare i trajne poveznice (permalinks).
Iako jednostavan, temeljio se na filozofiji otvorenog koda, jednostavnosti i slobode izražavanja — vrijednostima koje su i danas srce WordPressa.
WordPress i PHP: savršena simbioza
WordPress je praktično sinonim za PHP.
Njegova arhitektura oslanja se na PHP datoteke koje generiraju HTML na temelju MySQL podataka.
Primjerice, kad korisnik otvori blog post, WordPress:
- učitava PHP skriptu (npr.
single.php), - PHP dohvaća podatke iz baze (
$wpdb->get_results()), - obrađuje ih i generira HTML kod,
- šalje rezultat pregledniku.
Taj mehanizam – server-side rendering – čini PHP i WordPress idealnim spojem: jednostavni, učinkoviti i laki za prilagodbu.
PHP 7 i revolucija brzine
PHP 7 (2015.) donosi novi Zend Engine 3 i ogroman porast performansi – do dvostruko brže izvršavanje u odnosu na PHP 5.
Dodane su moderne značajke poput:
- strict typing,
- anonimne klase,
- spaces i namespaces,
- error handling s Exception objektima.
Ova verzija bila je ključna za modernizaciju jezika i omogućila je WordPressu i drugim CMS-ovima da postanu brži i sigurniji.
PHP 8 i nova era
Današnji PHP 8 (objavljen krajem 2020.) uvodi nove mogućnosti koje ga približavaju jezicima poput Pythona i Jave:
- Just-In-Time (JIT) kompajliranje – kod se prevodi u strojni jezik tijekom izvođenja za dodatnu brzinu,
- Attributes (Annotations) – metapodaci iznad funkcija i klasa,
- Union types i match izrazi,
- bolje upravljanje greškama i tipovima.
PHP više nije “jednostavan jezik za početnike”, nego ozbiljan alat za visoko-performantne web aplikacije.
Zašto je PHP pisan u C-u
Mnogi se pitaju: zašto je PHP pisan u C-u, a ne, recimo, u nekom “modernijem” jeziku?
Odgovor je jasan – C omogućava brzinu i kontrolu nad memorijom.
PHP interpreter mora brzo obrađivati tisuće zahtjeva u sekundi. C mu omogućava:
- visoke performanse,
- izravnu komunikaciju s OS-om,
- mogućnost kompajliranja za bilo koji sustav (Linux, Windows, macOS),
- jednostavno pisanje ekstenzija i integracija s drugim bibliotekama.
U biti, C je temelj koji PHP čini toliko učinkovitim, dok PHP kao jezik pruža fleksibilnost i jednostavnost programerima.
Zaključak: Od CGI skripti do jezika koji pokreće svijet
Od nekoliko linija C koda do jezika koji pokreće najveći dio interneta – evolucija PHP-a je priča o slobodi, otvorenom kodu i zajednici.
Njegov uspjeh nije došao iz korporativnih laboratorija, već iz entuzijazma i suradnje tisuća programera diljem svijeta.
PHP i WordPress zajedno su omogućili svima da izraze sebe, bez obzira na tehničko znanje – upravo ono što je i bio Rasmusov prvotni cilj 1994. godine.
U svijetu punom kompliciranih tehnologija, PHP ostaje simbol jednostavnosti, stabilnosti i slobodnog interneta.