Depuis la version 7 de PHP, il est possible de préciser un type de retour pour une méthode. Ainsi, de façon à renforcer le contrôle du code produit, on peut obliger une méthode à retourner un des types suivants:
– les chaînes de caractères (string)
– les entiers (int)
– les décimaux (float)
– les valeurs booléennes (bool)
– les tableaux (array)
– les classes
– les interfaces
Pour préciser un type de retour il suffit de le mentionner à la suite des parenthèses de la méthode/fonction en le faisant précéder du signe “:”.
<?php [modificateur] function nom_méthode([paramètres])[:type de retour] { //Instructions... } ?>
Quelques exemples pour illustrer cette fonctionnalité:
<?php ... public function getAvailability(): bool { if ($this->availability == 1) return true; else return false; } public function getDayName(): string { return "monday"; } public function getDayList(): array { return array('monday', 'tuesday', 'wednesday'); } ... ?>
Si la clause de type de retour n’est pas respectée PHP génèrera une erreur et affichera un message explicitant l’infraction.
A noter que les méthodes spécifiques “__construct” et “__destruct” ne sont pas autorisées à préciser un type de retour.