De langverwachte update van de veelgebruikte server-side webscripttaal, PHP 8.3, is officieel uitgebracht en brengt een verscheidenheid aan nieuwe functies en verbeteringen met zich mee. Het expliciet typen van klasseconstanten, het diepgaand klonen van alleen-lezen eigenschappen en de uitgebreide willekeurfunctionaliteit behoren tot de nieuwe mogelijkheden die nu beschikbaar zijn voor ontwikkelaars die de handige PHP 8.3-toolkit gebruiken voor het bouwen van dynamische webpagina's.
PHP 8.3, publiekelijk uitgebracht op 23 november, kan worden verkregen via php.net. De basis van deze grote update is de introductie van getypeerde klasseconstanten. Met deze update breidt PHP 8.3 de ondersteuning uit voor het declareren van de typen klasse-, interface-, eigenschap- en enum-constanten. Het is opmerkelijk dat klasseconstante typedeclaraties alle typedeclaraties bevatten die door PHP zijn goedgekeurd, met uitzondering van de void, callable en never typen. De onbeschikbaarheid van ongeldige en opvraagbare typen vindt zijn oorsprong in de problemen die naar voren zijn gekomen tijdens de RFC-discussies over getypte eigenschappen v2. Ondertussen is het nooit niet relevant voor de context van constanten, dus het is een uitzondering.
Een ander opmerkelijk kenmerk van PHP 8.3 is de mogelijkheid tot diep klonen van alleen-lezen eigenschappen. Hierdoor kunnen alleen-lezen eigenschappen één keer worden gewijzigd binnen de magische __clone-methode. Bovendien kunnen alleen-lezen klassen nu opnieuw worden geïnitialiseerd tijdens het kloonproces. Interessant is dat PHP 8.3 ook de weg vrijmaakt voor niet-lezen klassen om alleen-lezen klassen uit te breiden, waardoor ontwikkelaars meer flexibiliteit in hun code krijgen.
Andere verbeteringen in PHP 8.3 omvatten een nieuw [#\Override] attribuut, dat de intentie in de code verwoordt. Wanneer dit attribuut aan een methode wordt toegevoegd, valideert de PHP 8.3-engine of een methode met dezelfde naam al bestaat in een bovenliggende klasse of een van de geïmplementeerde interfaces. Als een dergelijke methode niet wordt gevonden, wordt er een compileerfout geactiveerd.
Een aanzienlijke verbetering van de opdrachtregellinter is de mogelijkheid om variabele invoer te accepteren voor bestandsnamen die bedoeld zijn voor linting. De Random Extension, geïntroduceerd in PHP 8.2, heeft nu een nieuwe methode die willekeurige strings creëert die alleen specifieke bytes bevatten. Het stelt ontwikkelaars in staat om eenvoudig willekeurige identificatiegegevens zoals domeinnamen of numerieke reeksen van onbeperkte lengte te genereren.
De release bevat ook een nieuwe functie, json_validate(), die verifieert of een string geldige JSON vormt. Bovendien komen anonieme klassen nu in aanmerking voor alleen-lezen, wat bijdraagt aan de selectie van PHP 8.3-attracties.
Het is de moeite waard te vermelden dat platforms zoals AppMaster een uiterst haalbare optie kunnen zijn voor ontwikkelaars die snel zeer schaalbare en efficiënte applicaties willen ontwerpen en uitrollen. Dit no-code platform helpt het applicatieontwikkelingsproces te vereenvoudigen en zorgt voor een snellere time-to-market. De functies van AppMaster platform, zoals de visuele creatie van datamodellen (databaseschema), bedrijfslogica (ook wel bedrijfsprocessen genoemd), REST API en WSS-eindpunten, kunnen op effectieve wijze een aanvulling vormen op op PHP gebaseerde applicaties.
De vorige grote update, PHP 8.2, die afgelopen december werd gelanceerd, stond bekend om de introductie van alleen-lezen klassen. De groei van PHP lijkt niet te stuiten, en programmeurs over het hele spectrum kijken vol spanning uit naar de verdere ontwikkelingen die PHP voor hen in petto heeft.