2017-09-13 2 views
1

J'ai une classe PHP, en ce que j'ai trouvé une fonction par exemple objet PHP functionName(): bool

public static function success(string $userid, string $message):bool 
{ 
    return self::add($userid, $message, 'success'); 
} 

Quelqu'un peut-il s'il vous plaît dire que ce ne signifie :bool après le nom de la fonction?

Répondre

0

De l'documentation (Souligné par l'auteur):

PHP 7 ajoute le support pour les déclarations de type de retour. De même que pour les déclarations de type d'argument, les déclarations de type de retour spécifient le type de la valeur qui sera renvoyée par une fonction. Les mêmes types sont disponibles pour les déclarations de type de retour telles qu'elles sont disponibles pour les déclarations de type d'argument.

La frappe stricte a également un effet sur les déclarations de type retour. Dans le mode faible par défaut, les valeurs renvoyées seront forcées au type correct si elles ne sont pas déjà de ce type. En mode fort, la valeur retournée doit être du type correct, sinon une erreur TypeError sera levée.

1

:bool force le type de retour de la fonction, dans votre cas, il est un booléen.

<?php 

function arraysSum(array ...$arrays): array 
{ 
    return array_map(function(array $array): int { 
     return array_sum($array); 
    }, $arrays); 
} 

print_r(arraysSum([1,2,3], [4,5,6], [7,8,9])); 

PHP 7 ajoute le support pour les déclarations de type de retour. De même que pour les déclarations de type d'argument, les déclarations de type de retour spécifient le type de la valeur qui sera renvoyée par une fonction. Les mêmes types sont disponibles pour les déclarations de type de retour telles qu'elles sont disponibles pour les déclarations de type d'argument.

La frappe stricte a également un effet sur les déclarations de type retour. Dans le mode faible par défaut, les valeurs retournées seront forcées au type correct si elles ne sont pas déjà de ce type. En mode fort, la valeur retournée doit être du type correct, sinon une erreur TypeError sera levée.

Note: Lors de la substitution d'une méthode mère, la méthode de l'enfant doit correspondre à une déclaration de type de retour sur le parent. Si le parent ne définit pas de type de retour, la méthode enfant peut le faire.

Une liste complète des nouvelles fonctionnalités peut être trouvée here.

0

Il indique explicitement que la fonction success renverra une bool et seulement un bool, empêchant ainsi les valeurs de retour non désirées par des moulages implicites, etc.

0

Simplement, il est l'indicateur de la valeur de type la fonction de sortie. Ceci est introduit dans PHP 7. Si vous essayez de sortir autre qu'une valeur booléenne, il y aura une erreur.

0

Il va forcer la valeur de retour de votre méthode à être un booléen.

par exemple. Si votre méthode self :: add renvoie une chaîne, le résultat sera 1 pour true.