Zend wordt Laminas, en andere PHP-ontwikkelingen

Een collega liet me laatst de code zien waaraan hij werkt. Wat direct opviel was de grote hoeveelheid roodgekleurde regels. Geen fouten van hem hoor: dit was een waarschuwingssignaal van software die binnenkort grote veranderingen zou ondergaan. Maar mijn collega was, zoals altijd, goed voorbereid.


Even bij het begin beginnen. De app die mijn collega me liet zien is geschreven binnen Zend, een framework voor de programmeertaal PHP. Een framework zorgt ervoor dat je bepaalde stukken code als een soort LEGO-blokjes in elkaar kunt klikken. Daardoor hoeft een website of applicatie niet helemaal vanaf nul geprogrammeerd te worden, wat veel werk scheelt. Deze bouwstenen worden packages genoemd - pakketjes dus -, die binnen Zend Framework gebruikt kunnen worden. Echter, Zend Framework is recentelijk overgegaan in een nieuw framework: Laminas. Ook het framework Zend Expressive is van naam veranderd. De nieuwste versie heet Mezzio. Zend Framework en Expressive zullen uiteindelijk ophouden te bestaan en dat heeft gevolgen voor de packages. Sommige kunnen direct overgezet worden; voor andere is er een vergelijkbaar alternatief dat helaas niet automatisch overgezet kan worden.


Laminas en Mezzio zijn zo ontworpen dat ze de nieuwste versie van PHP ondersteunen. Misschien denk je nu: waarom niet een andere taal? PHP heeft lange tijd een onbetrouwbaar imago gehad, maar dat is vanaf de veel robuustere versie 7 verleden tijd. Deze taal leent zich namelijk uitstekend voor bedrijfssoftware, onder meer op het gebied van schaalbaarheid en (externe) support. Daar kom ik later in deze blog uitgebreid op terug.


Natuurlijk is de overgang naar Laminas en Mezzio niet plotsklaps verlopen. Programmeurs konden al eerder met deze frameworks werken, zodat ze er al aan konden wennen. Mijn collega werkt al vanaf begin december 2019 met Laminas en Mezzio, omdat hij deze nieuwe frameworks natuurlijk al zo vroeg mogelijk in de vingers wilde hebben. Maar hij wilde ook op tijd kunnen inschatten hoeveel en welke packages er vervangen moesten worden. Dat werd al snel helder voor hem: al die eerder aangehaalde roodkleurige rijen code zijn die packages. Werk aan de winkel voor hem dus.


Wat betekent dat voor jou?

Als je een applicatie of site in Zend Framework of Expressive hebt laten ontwikkelen, zal die verouderd raken. Bepaalde packages zullen niet langer werken, wat leidt tot problemen met het updaten. De ervaring leert dat je bij zulke software-overgangen het best op tijd kunt zijn, om vervelende verrassingen te voorkomen. Je moet bijvoorbeeld een developer inschakelen die deze nieuwe frameworks in zijn vingers heeft en weet wat er allemaal bij de overstap komt kijken.


PHP 7: robuust en asynchroon

Hoewel Zend Framework en Expressive PHP-frameworks zijn, hebben de versies daarvan nooit synchroon gelopen aan die van PHP. Voor Laminas en Mezzio is gekozen om dat wél te doen. De nieuwste versies van die frameworks zullen steeds de recentste versie van PHP ondersteunen. Daardoor krijgen programmeurs de beschikking over een framework waarin de recentste ontwikkelingen en veranderingen in de programmeertaal optimaal verwerkt zijn. Dat maakt PHP - inmiddels aan versie 7 toe - nog aantrekkelijker voor programmeurs, maar ook zeker voor bedrijven.


In de laatste versies van PHP zijn veel kwaliteitscontroles ingebouwd: delen van de code worden automatisch gecontroleerd. Dat maakt de applicatie robuuster. Bovendien is PHP een uitstekende keuze om enterprise-applicaties in te laten ontwikkelen, op gebied van schaalbaarheid én omdat doorontwikkeling en support gemakkelijker, indien nodig, door een andere programmeur overgenomen kunnen worden.


Een opmerkelijke mogelijkheid van PHP 7 is asynchroniteit, een functie die ook door Mezzio wordt ondersteund. Dat wil zeggen dat de ene taak níét afgerond hoeft te zijn voordat de applicatie een andere kan starten. Bij andere pakketten - en bij oudere versies van PHP - moest eerst die ene opdracht klaar zijn voordat aan de tweede begonnen werd. Dat PHP 7 dit wél kan zorgt ervoor dat je de taken bijvoorbeeld over verschillende processen kunt verdelen en over verschillende servers. Dat gaat bovendien niet ten koste van de snelheid, terwijl je zou verwachten dat meer functies voor een lagere snelheid zorgen. PHP 7 draait juist sneller dan de vorige versies.


En heb je internationale klanten die je graag in hun eigen taal kunt aanspreken en informeren? Internationalisering is een PHP-speerpunt: er kunnen verschillende taalpakketten gebruikt worden. Die kunnen eventueel verder uitgebreid worden met externe pakketten.


Enthousiast geraakt over PHP 7? Of heb je support nodig voor je Zend-app, zodat die helemaal 2020-proof wordt? Neem dan vrijblijvend contact met ons op om te horen wat we voor je kunnen betekenen.

Terug naar de homepagina