PHP staat met dikgedrukte letters in elk ICT-woordenboek. De programmeertaal vormt het fundament van talloze websites en is de basis van de carrière van veel programmeurs. Hoe verliep de ontwikkeling van PHP eigenlijk? Wat kun je met PHP in 2017? En waarom kleeft er een negatief imago aan deze taal?

Het online cv van Rasmus Lerdorf

PHP vond zijn oorsprong ruim 22 jaar geleden in Canada. Programmeur Rasmus Lerdorf wilde graag bijhouden wie zijn online cv bekeek. Met dit doel ontwikkelde hij in 1994 een systeem – hij noemde het Personal Home Page Tools.

Server side

We maken een sprong vooruit in de tijd en belanden in 2017. PHP is inmiddels flink veranderd. De naam staat tegenwoordig niet meer voor ‘Personal Home Page Tools’, maar voor ‘PHP: Hypertext Preprocessor’ – een recursief acroniem.

PHP is een server-side scripttaal: een programmeertaal waarmee websites gebouwd kunnen worden. Server-side houdt in dat PHP broncode op een server runt, en niet in de browser van de gebruiker, zoals client-side programmeertalen doen. De opkomst van server-side talen was een belangrijke stap bij het ontwikkelen van dynamische websites. PHP is in staat data uit databases te halen, berekeningen te doen en met andere servers te communiceren, om dán pas de HTML-code te genereren die resulteert in de webpagina die de gebruiker te zien krijgt.

Afbeelding: www.zend.com

Databases

PHP kan HTML, tekst, afbeeldingen, pdf-bestanden en Flash-video’s genereren. Daarnaast ondersteunt de taal een scala aan databases, zodat je er eenvoudig een website mee kunt bouwen die door een database ondersteund wordt.

Je kunt met PHP onder meer formuliergegevens verzamelen, dynamische paginacontent genereren en cookies verzenden en ontvangen. De taal werkt met alle belangrijke besturingssystemen: Linux, Unix-varianten, Microsoft Windows en macOS.

Fundament van Facebook

PHP is dankzij zijn specifieke eigenschappen de drijvende kracht (of één van de drijvende krachten) achter enkele van de grootste websites ter wereld. Denk aan Facebook, Wikipedia, Flickr en Twitter. Facebook bouwde zijn website met PHP en gebruikt de taal nog altijd voor het creëren en onderhouden van zijn interne systemen. Ook de veelgebruikte contentmanagementsystemen WordPress, Drupal en Joomla! zijn gebouwd met PHP.

Van toolset tot programmeertaal

Terug naar 1994. Het jaar waarin Kurt Cobain overleed, Nelson Mandela president werd van Zuid-Afrika en de kanaaltunnel in gebruikt genomen werd. Maar ook het jaar waarin Rasmus Lerdorf begon met het ontwikkelen van PHP – aanvankelijk een eenvoudig wiskundig systeem, geschreven in de programmeertaal C.

Lerdorf ontwierp een jaar later een nieuwe versie, met meer mogelijkheden en toepassingen. Gebruikers kunnen vanaf dat moment met PHP eenvoudige dynamische webapplicaties bouwen, zoals een gastenboek. Ook maakt Lerdorf de broncode van zijn creatie openbaar.

Programmeurs kregen de mogelijkheid om de broncode van PHP aan te passen en zodoende het product te verbeteren. De term open source werd toen nog niet gebruikt, maar dekt natuurlijk wel de lading.

Rasmus Lerdorf (afbeelding: www.ithome.com.tw)

Steeds populairder

In de daarop volgende jaren werd PHP stukje bij beetje verder ontwikkeld, van een verzameling tools naar een serieuze programmeertaal – maar nog altijd voornamelijk door Lerdorf alleen. De taal begon ondertussen wereldwijd langzaam aan populariteit te winnen onder programmeurs.

Nadat Lerdorf in 1997 in contact kwam met de Israeliërs Andi Gutmans en Zeev Suraski, en samen met hen PHP verder ontwikkelde, ging het hard. Het drietal voegde steeds meer functionaliteiten toe. In mei 1998 was bij 60.000 internetdomeinen PHP geïnstalleerd op de netwerkserver, ongeveer 1 procent van alle domeinen die op dat moment bestonden.

Doorbraak

PHP 3.0 zorgde voor de definitieve doorbraak van de programmeertaal. Deze versie gaf gebruikers onder meer:

  • Een volwaardige interface voor meerdere databases, protocols en API’s
  • Ondersteuning voor objectgeoriënteerd programmeren
  • Een krachtiger en meer consistente syntaxis

Op zijn hoogtepunt was PHP 3.0 geïnstalleerd op zo’n tien procent van alle webservers.

PHP in 2017

Inmiddels zijn we de nodige versies verder: PHP 7 is alweer een tijdje uit. Het ontwikkelteam bestaat tegenwoordig niet meer uit drie mensen, maar uit tientallen developers. Ondanks de opkomst van andere talen is PHP in 2017 nog steeds een van de belangrijkste en meest gebruikte programmeertalen.

Een uitgebreide documentatie en een onderliggend netwerk van meer dan honderd individuele webservers op zes continenten zorgen ervoor dat intussen miljoenen domeinen over de hele wereld gebruik maken van PHP.

Programmeurs Haten PHP?

Tot dusver een positief verhaal over PHP. Tijd om de andere kant van de medaille te bekijken.

Het feit dat er programmeurs zijn die de moeite nemen een speciale website te op te zetten om zich te kunnen afreageren op PHP geeft aan dat niet iedereen te spreken is over de taal. Er zijn eigenschappen van PHP waar developers op z’n zachtst gezegd niet al te gelukkig mee zijn.

Merkwaardig huis

De bloggende Amerikaanse developer Eevee (pseudoniem) vergelijkt PHP met een gereedschapsset waarmee je een huis bouwt. Alles is aanwezig, maar het werkt net niet zoals je verwacht. Je kunt het huis weliswaar afbouwen, maar het komt er vaak vrij merkwaardig uit te zien.

Eevee noemt PHP onvoorspelbaar, inconsistent, omstandig en onbetrouwbaar. Precies de eigenschappen die je volgens haar niet wilt terugzien in een programmeertaal.


Drie schuurtjes vol gereedschap

De Zweed Mattias Petter Johansson (geen pseudoniem), software engineer bij Spotify, stelt dat PHP niet ontworpen, maar gegroeid is – in tegenstelling tot andere programmeertalen.

Johansson vergelijkt PHP met de programmeertaal Haskell: “If Haskell is a super-designed, well organized toolbox in titanium with lots of powerful but weird and arcane tools, PHP is three to four toolsheds in different color (…) filled with random but very useful and approachable tools that lack cohesion.”

“PHP is three to four toolsheds in different color (…) filled with random but very useful and approachable tools that lack cohesion.”

Supermarkt onder programmeertalen

PHP-developer Vince Kronlein uit de VS omschrijft PHP als ‘de supermarkt onder programmeertalen’. Je kunt er bijna alles vinden, voor de beste prijs –  maar voor een specifiek product zul je een speciaalzaak binnen moeten gaan.

Rommelige structuur

Sommige kenners beweren dat PHP prima geschikt is voor beginners, maar voor serieuze programmeurs volledig onhandelbaar is. De argumenten hebben meestal betrekking op de rommelige structuur en syntaxis van PHP. De taal zou hierdoor niet geschikt zijn voor het bouwen van grootschalige applicaties.

PHP: hate it or love it

Stack Overflow, een community met meer dan zeven miljoen programmeurs, voerde onlangs zijn jaarlijkse Developer Survey uit: een uitgebreid onderzoek naar de voorkeuren van developers. PHP wordt hierin genoemd bij de meest geliefde programmeertalen, maar staat tegelijkertijd hoog in het lijstje met de meest gehate talen.

Het typeert de manier waarop developers tegen PHP aankijken.

Meer mogelijkheden

De nieuwste versie van PHP is een grote stap voorwaarts ten opzichte van eerdere versies. De keuze in goede PHP-frameworks is daarnaast groot. Neem CodeIgniter, Laravel, Symfony en CakePHP – om er maar een paar te noemen. Deze frameworks vergroten de mogelijkheden van de taal en maken het werken met PHP een stuk makkelijker en efficiënter.

Smaken verschillen

Het mag duidelijk zijn dat PHP niet voor iedereen het ideale hulpmiddel is. De negatieve kanten van de taal zijn duidelijk. Wie geen fan is van PHP, kan zich gerust wenden tot één van de jongere en meer gestructureerde alternatieven, zoals Ruby, Erlang, Haskell of Python.

Ondanks de onvrede over de programmeertaal en zijn eigenschappen zijn er grote aantallen developers en bedrijven die wél met PHP willen werken. En wat te denken van al die websites die gebouwd zijn en worden met PHP?

Als we in onze eigen vacaturedatabase kijken, zien we dat PHP-developers na .NET-developers de meest gevraagde ICT-specialisten zijn. Dat zegt eigenlijk genoeg. Hate it or love it, maar PHP staat nog altijd stevig overeind.