PHP type scalaire et la valeur de retour déclaration de type
PHP 7 nouvelles fonctionnalités
Scalar déclaration de type
Par défaut, tous les fichiers PHP sont dans un mode de type de contrôle faible.
PHP 7 augmente le type scalaire caractéristique déclarée déclaration de type scalaire a deux modes:
- Mode forcé (par défaut)
- Strict mode
Scalar déclaration de type syntaxe:
declare(strict_types=1);
Code Strict_types en spécifiant une valeur (1 ou 0), 1 stricte Mode type de vérification, le rôle de la fonction d'appel et de retour des déclarations; 0 représente le mode faible type de vérification.
Type de paramètre peut être utilisé sont:
int
flotteur
bool
string
interfaces
tableau
appelable
Des exemples de mode de mise en
Exemples
// Mode application
fonction sum (int ... $ ints)
{
retour array_sum (ints $);
}
print (somme (2, '3 ', 4.1));
?>
La sortie de l'exécution du programme ci-dessus est la suivante:
9
Des exemples de paramètres de synthèse 4 4.1 converti en entier, puis additionnés.
Strict Exemples de mode
Exemples
// Strict Mode
déclarer (strict_types = 1);
fonction sum (int ... $ ints)
{
retour array_sum (ints $);
}
print (somme (2, '3 ', 4.1));
?>
Le programme ci-dessus en raison du mode strict, donc si vous tapez apparaît paramètre entier malaise étant donné, la sortie d'exécution est:
PHP Fatal error: Uncaught TypeError: Argument 2 passed to sum() must be of the type integer, string given, called in……
Type de retour déclaration
PHP 7 ajoute le support pour la déclaration de type de retour, il indique le type du type de valeur retour de la fonction déclaration de retour.
Peut déclarer les types de retour sont:
int
flotteur
bool
string
interfaces
tableau
appelable
Exemples de déclaration de type de retour
Exemple, demandé de revenir à un entier:
Exemples
déclarer (strict_types = 1);
fonction returnIntValue (int $ value): int
{
retourner la valeur de $;
}
print (returnIntValue (5));
?>
La sortie de l'exécution du programme ci-dessus est la suivante:
5
Exemples d'erreur type de retour déclaration Exemples
<? Php
déclarer (strict_types = 1);
fonction returnIntValue (int $ value): int
{
return $ valeur + 1.0;
}
print (returnIntValue (5));
?>
Exemples
déclarer (strict_types = 1);
fonction returnIntValue (int $ value): int
{
return $ valeur + 1.0;
}
print (returnIntValue (5));
?>
Le programme ci-dessus en raison du mode strict, la valeur de retour doit être un int, mais les résultats sont float, il sera donné, la sortie d'exécution est:
Fatal error: Uncaught TypeError: Return value of returnIntValue() must be of the type integer, float returned...