In PHP 7: Return types
PHP 7 heeft afgelopen week een belangrijke feature erbij gekregen: Return types. Met deze feature kunnen functies geforceerd worden om een bepaald type terug te geven.
De syntax
De syntax is gelijk aan de syntax die gebruikt wordt in Hack: Een dubbele punt gevolgd door het type dat achter de argument lijst wordt geplaatst.
De functie sum mag in dit geval alleen een float teruggeven.
Geldige typen
Het type mag elke PHP type zijn (integer, float, string, boolean, etc.) of een class/interface naam. Bijvoorbeeld:
Het is op het moment niet geldig om null terug te geven wanneer het return type gedefinieerd is. Er is een lopende RFC om een ? prefix te gebruiken om aan te geven dat een type null of het aangegeven type mag zijn. Hier is momenteel nog geen beslissing over gemaakt.
Gebruik bij classes
Bij het overschrijven van een method mag het type niet anders zijn dan het eerder opgegeven type. De volgende code is bijvoorbeeld niet geldig:
Het is wel geldig om een type te definiëren wanneer de method eerder geen type definitie had.
Het is daarnaast ook verplicht om het type van een method te definiëren wanneer de parent method deze ook gedefinieerd heeft.
Geen één van de functies en methods in core PHP hebben op dit moment een return type gedefinieerd.
De volledige RFC is te vinden in de RFC lijst.
Argument Types
Er is nog een lopende RFC voor het definiëren van types voor argumenten. De stemming hiervoor zal komende week eindigen.
Gerelateerde nieuwsberichten
02/01/2020 PHP leren voor beginners: wat is het en past het bij jou?
27/10/2019 Lek ontdekt in PHP bij gebruik van Nginx
02/08/2018 PHP brengt eerste beta uit voor PHP 7.3
Er zijn 8 reacties op 'In php 7 return types'
Om te reageren heb je een account nodig en je moet ingelogd zijn.
PHP hulp
0 seconden vanaf nu