PHP, de technologie achter bijna tachtig procent van alle websites wereldwijd, blijft in de belangstelling staan. Getuige de bijna vijfhonderd ontwikkelaars uit 28 landen die eind januari opdaagden voor de tiende PHP Benelux-conferentie in Edegem bij Antwerpen. ‘Deze conferentie maakt het mogelijk uit de bubble te komen.’
Vraag aan de doorsnee-internetgebruiker wat PHP is en je krijgt een starende blik terug. Niet verwonderlijk want die gebruiker krijgt PHP zelden of nooit te zien. Het is een scriptingtaal die in de achtergrond op (meestal Linux-)servers draait en die samen met HTML in een webpagina verwerkt zit. Vooraleer een opgevraagde pagina naar de eindgebruiker gestuurd wordt, doet een webserver een beroep op PHP om de bewerkingen die in het PHP-script staan te interpreteren en uit te voeren. De evenknie van PHP, JavaScript, draait op de client (de computer van de eindgebruiker) en zorgt via een browser voor het eindresultaat.
PHP, dat oorspronkelijk stond voor Personal Home Page, werd in de jaren negentig ontwikkeld door de Deen Rasmus Lerdorf om zijn website te beheren en zijn internetverkeer te monitoren. In de loop der jaren is het als opensource uitgegroeid tot dé scriptingtaal voor internet. Volgens recente cijfers van marktonderzoeker W3Techs zouden wereldwijd 78,9% van alle websites gebruikmaken van PHP – waaronder mastodonten als Facebook en Wikipedia en applicaties zoals WordPress.
Niet moeilijk
De redenen voor het succes? ‘Het is gemakkelijk aan te leren en op te starten’, zegt Rasmus Lerdorf. ‘En er zijn zoveel frameworks in omloop voor allerlei specifieke toepassingen dat een ontwikkelaar zelf maar weinig PHP meer moet coderen. Uiteindelijk is PHP niet meer dan een tool, zoals een hamer voor een timmerman. Het wordt pas interessant als je ziet wat mensen met zo’n tool allemaal kunnen doen.’
Koen Eelen, PHP-ontwikkelaar bij de Belgische opensource- en PHP-specialist Cu.be Solutions, sluit zich daar bij aan. ‘PHP is makkelijk om te beginnen ontwikkelen. Geen ingewikkelde programma’s of compilers nodig, gewoon een tekstbestand aanmaken en een LAMP-server installeren. Die laagdrempeligheid maakt het perfect voor een hobbyist zonder academische it-opleiding. Vandaag is PHP als een tweede natuur voor mij. Ik ben vijftien jaar geleden met PHP als hobby aan de slag gegaan. Intussen gebruik ik het al tien jaar ook professioneel.’
Nieuwe contacten
Eigenlijk is het voor een PHP-ontwikkelaar niet moeilijk om werk te vinden, stelt hij vast. Dat werd nog eens geïllustreerd op de recente PHP Benelux-conferentie waar zowel ontwikkelaars als softwarebedrijven op zoek waren naar nieuwe contacten. ‘Want daar zit een probleem’, zegt Tom Schenkenberg, ontwikkelaar van webapplicaties en mobiele apps bij iBuildings uit Vlissingen. ‘PHP-specialisten worden begeerd, en dus willen wij hier op de conferentie staan om rechtstreeks met ontwikkelaars te praten en duidelijk te maken wat we precies doen en waarom een developer bij ons zou moeten komen werken.’
Dat kan Eelen bevestigen: ‘Ik kom naar zo’n conferentie om twee redenen: van ervaren sprekers de nieuwste technieken en inzichten horen. En minstens even belangrijk: contacten leggen met interessante personen in het PHP-ecosysteem. Het is vaak even belangrijk om te weten wie met wat bezig is zodat je hen eventueel om hulp kan vragen dan om elke techniek zelf onder de knie te krijgen.’
Michelangelo van Dam, ceo van In2IT en de drijvende kracht achter PHP Benelux, kan dat beamen. ‘De deelnemers komen naar hier om te leren, voor nieuwe ideeën, nieuwe concepten, om een niveau hoger te bereiken. En voornamelijk ook om te netwerken. Als PHP-ontwikkelaar zit je meestal in je eigen bubble en op een bepaald moment heb je eigenlijk alle kennis binnen die bubble geconsumeerd. Deze conferentie maakt het mogelijk uit die bubble te komen, nieuwe ervaringen op te doen en nieuwe contacten te leggen. En de meeste sponsors komen om developers te zoeken om hun team te kunnen doen groeien. Voor hen is de interactie met de deelnemers dan ook belangrijk.’
‘Have laptop, will program’
Dat er met PHP geld te verdienen valt, bewijst het succes van Ibuildings. Gestart in 1999 telt het Vlissingse bedrijf intussen meer dan vijftig medewerkers en heeft het zelfs een Italiaans filiaal opgericht. Schenkenberg: ‘We hebben wel klanten in de hele Benelux, maar voor ons is de vestiging op zich niet zo belangrijk meer. Developers kunnen werken waar ze willen, met een laptop en een internetverbinding kan je ook ergens onder een boom gaan zitten en aan de slag gaan. Wél vinden we het belangrijk dat je dicht bij de klant zit zodat je er naartoe kan. Als je ergens offshore, ver in het buitenland gaat zitten, zou dat wel een probleem kunnen zijn. Eigenlijk is onze website onze hoofdvestiging, al de rest zijn gewoon locaties waar je bij elkaar kan komen.’
Schenkenberg koos bij de start voor PHP omdat hij er toen al veel potentieel in zag. ‘Dat is ook gebleken. PHP is in tegenstelling tot vele andere technologietjes altijd relevant gebleven en ook verder ontwikkeld, vooral ook dankzij de specialisten van Zend.’
En uiteraard ook met de hulp van Rasmus Lerdorf, die zich overigens wel ergert aan ‘insiders’ die beweren dat PHP niet geschikt zou zijn voor de nieuwe generatie websites met veel verkeer. ‘Waar het voor high traffic sites vooral op aankomt, is de architectuur van heel het systeem. Hoe spreek je de databases aan, hoe is je caching? Of moet je van hieruit telkens naar een database server die in Singapore staat? Dat zorgt voor vertragingen. De architectuur is dus tien keer belangrijker dan de keuze van de programmeertaal. PHP speelt hier nauwelijks een rol. Maar wat PHP wel helpt, is dat het totaal ‘statenloos’ is – een request kan naar een bepaalde server gaan en het volgende request naar een andere server.’
Compatibiliteit
Op de conferentie werd ook uitvoerig gepalaverd over eventuele compatibiliteitsproblemen met de nieuwste versie van PHP. Schenkenberg heeft daar een uitgesproken mening over: ‘Ik hoop bijna dat de overgang van de oude naar de nieuwe versie compatibiliteitsproblemen zal opleveren, want ik vind het belangrijk dat technologie actief afscheid neemt van ideeën of keuzes uit het verleden die niet langer voldoen. Als je dat niet doet, dan verval je in een legacy-omgeving die steeds moeilijker te wijzigen is. Je moet absoluut je technologie heel vers en courant houden.’
Voor Rasmus Lerdorf is compatibiliteit wel een gevoelig punt. ‘We hebben er echt op gelet geen problemen met backwardcompatibiliteit te creëren. Hier en daar zijn er wel kleine dingen maar dat heeft vooral te maken met het inkorten van ons release timeframe van drie, vier jaar naar jaarlijks kleine upgrades zodat de aanpassingen maar miniem meer zijn.’ Ook over dat de klemtoon bij webapplicaties meer naar de client side lijkt te verschuiven (JavaScript.), maakt hij zich geen zorgen. ‘Uiteindelijk moet alle data toch nog altijd van een centrale server komen, en daar heerst PHP nog steeds soeverein.’
Al helpt het een PHP-ontwikkelaar wel als hij ook andere talen kent, zegt Koen Eelen. ‘Net zoals vermoed ik de meeste PHP-ontwikkelaars beheers ik de volle webstack – HTML, CSS, en JavaScript – en kan ik ook webservers als Apache configureren. En dat is nu precies het leuke aan het ontwikkelen in een web-omgeving: je komt altijd in contact komt met meerdere lagen technologie.’
Dit artikel verscheen eerder in Computable Magazine nummer 4 2019.
PHP-experts
Rasmus Lerdorf, Deens-Canadese programmeur die de PHP-scriptingtaal ontwikkelde.
Koen Eelen, PHP-ontwikkelaar bij de Belgische opensourceen PHP-specialist Cu.be Solutions
Tom Schenkenberg, ontwikkelaar van webapplicaties en mobiele apps bij iBuildings
Michelangelo van Dam, ceo van In2IT en de drijvende kracht achter PHP Benelux
Pfff niet eens het artikel tot het einde gelezen.
Toen ik las ‘Het wordt pas interessant als je ziet wat mensen met zo’n tool allemaal kunnen doen.’
Moest ik meteen denken aan al die vacature eisen die verwachten dat je bekent met met het een of andere gare framework.
php is (om reden die in het artikel verborgen worden vermeld) zo ongeveer de slechtst gespeficiceerde als tevens geimplementeerde taal.
Prima voor de website van de slager, maar laat het daar dan ook bij.
@Pascal
Ik zit zelf tegenwoordig wat in de PHP (plus de rest wat er bij web toepassingen komt kijken oa html, css, javscript) maar ik vind het toch niet zo slecht als jij schrijft en alleen maar geschikt is voor de website is van de slager. Dat laatste is niet waar, het is een veelgebruikte server side techniek voor het genereren van webcontent. Ja, het is van oorsprong weinig gestructureerd en het is een omgeving die zich ontwikkeld heeft in de tijd met tools en afspraken voor het gebruik en beheer van software libraries en afspraken hoe PHP code te gebruiken. Inderdaad met een enorme hoeveelheid frameworks voor het bouwen van webtoepassingen. Datzelfde zie je terug bij Javascript, ook van oorsprong weinig gestructureerd maar inmiddels ook een taal (omgeving) waar je hetzelfde voor kan zeggen. Wat dat betreft vind ik het artikel ook niet helemaal goed, het gebruik van Javascript aan de server side kant heeft ook een enorme vlucht genomen. Ook met een werkelijk onafzienbare hoeveelheid libraries, tools en frameworks. Maar misschien geldt dat wel voor de hele computerwereld, het door de bomen het bos niet meer kunnen zien.
Dat ontwikkelen voor het web een enorme vlucht heeft genomen de afgelopen tientallen jaren maar ook de manier waarop applicaties in elkaar steken en worden gebouwd. Was in het begin iets van de vorm even met PHP een pagina genereren en sturen naar de browser, de ontwikkelingen en mogelijkheden aan de client kant hebben dat veranderd. Van alle logica aan de serverside kant naar logica aan de client middels Javascript, of het ontsluiten van externe diensten (api’s) het zijn allemaal ontwikkelingen waarin PHP een prima rol in kan spelen.
Uiteindelijk is het ook een kwestie van smaak, begrijp de ergernis aan de gefragmenteerdheid. Maar helaas, het is een gegeven en de alternatieven op weggebied zie ik ook niet zo niet 1, 2, 3. Ze leiden allemaal aan dezelfde euvel. Complex, veel, moeilijk kiesen en lastig te bepalen wat voldoet.
Dat vacatures een botte opsomming zijn os’en, talen, tools en frameworks dat is inderdaad uitermate deprimerend, zeker als het afstreep mechanisme wordt gebruikt. Terwijl je ook kan denken, het is heel veel van hetzelfde maar dan effe anders. Dan heb ik het nog over niet over agile, scrummen en devopsen. Nee, daar word je niet vrolijk van.
Wat ik dan wel weer aardig vind in computerland is dat oude zaken waar ik ooit mee begonnen ben nog staan als een huis en actueel zijn, ik noem unix (linux), c. En dat vi nog steeds een prima en heerlijke editor is. Dat vind ik wel leuk. Maar ook, er is inmiddels zoveel meer.