PHP OO – Type de retour d’une méthode

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.