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
13/06/2024 PHP verhelpt kritiek beveiligingslek in Windows-versie
28/02/2024 LockBit website door politie gekraakt via mogelijk lek in PHP
08/05/2023 PHPhulp verhuisd
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