In PHP 7: Scalar type hints
Dit moet de meest besproken verandering in PHP 7 zijn: De introductie van scalar type hints .
In PHP 5 kon je al typehinten voor een array of een bepaalde instance van een object. Bijvoorbeeld:
Nu zijn hier in PHP 7 scalar type hints bij gekomen. Je kan nu bijvoorbeeld verplichten dat een argument een string is of een integer, etc. Op dit moment worden de int, float, string en bool type hints toegevoegd in PHP 7.
De feature komt in 2 versies: Strict mode en Weak mode.
Strict mode
Deze wordt gedefinieerd door declare(strict_types=1) als eerste (code)regel in je PHP bestanden te plaatsen. Het geldt dan alleen voor dat ene bestand.
Wanneer je een functie in strict mode aanroept zal PHP alle type hints verplichten. Je kan dan dus niet meer verwachtEenString(10) uitvoeren.
Wanneer je een functie in strict mode definieert zal PHP de return type verplichten. Waar de arguments type dus afhangt van het bestand waarin je het uitvoert, hangt de return type af van het bestand waar je het definieert. Dit omdat de eerste een probleem is van de caller van de functie, terwijl de tweede een probleem in de functie zelf is.
Weak mode
In weak mode worden type hints gebruikt om te typecasten:
2
3
4
5
6
7
function wilEenString(string $str) {
// ...
}
wilEenString(10); // $str = "10"
?>
Op deze manier ben je in de functie dus verzekerd van een type van het argument.
Geen type hints
Precies zoals je niet verplicht was om type hints voor arrays of objecten in PHP 5 te gebruiken, ben je ook vrij om geen type hints in PHP 7 te gebruiken.
De volledige RFC is te lezen op php.net.
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 4 reacties op 'In php 7 scalar type hints'
Om te reageren heb je een account nodig en je moet ingelogd zijn.
PHP hulp
0 seconden vanaf nu