PHP tipo escalar y declaración de tipo de valor de retorno
declaración de tipo escalar
Por defecto, todos los archivos PHP son en un modo de verificación de tipos débil.
PHP 7 aumenta el tipo escalar característica declarada declaración de tipo escalar tiene dos modos:
- En modo forzado (por defecto)
- Modo estricto
Escalar la sintaxis de declaración de tipo:
declare(strict_types=1);
código Strict_types mediante la especificación de un valor (1 ó 0), 1 modo de verificación de tipos estricta, el papel de la llamada a la función y las declaraciones de retorno; 0 representa el modo de verificación de tipos débil.
parámetro de tipo se pueden utilizar son:
int
flotador
bool
cadena
las interfaces
formación
invocable
Ejemplos de modo de cumplimiento
Ejemplos
// Modo de ejecución
función sum (int ... $ enteros)
{
volver array_sum ($ enteros);
}
de impresión (suma (2 ', 3 ', 4,1));
?>
La salida por encima de la ejecución del programa es:
9
Ejemplos de parámetros indicativos 4 4.1 convierte a entero y luego se suman.
Ejemplos del modo estrictas
Ejemplos
// Modo estricto
declarar (strict_types = 1);
función sum (int ... $ enteros)
{
volver array_sum ($ enteros);
}
de impresión (suma (2 ', 3 ', 4,1));
?>
El programa anterior debido al modo estricto, por lo que si se escribe aparece parámetro entero está dando mal, la salida de ejecución es:
PHP Fatal error: Uncaught TypeError: Argument 2 passed to sum() must be of the type integer, string given, called in……
declaración de tipo de retorno
PHP 7 añade soporte para la declaración de tipo de cambio, que indica el tipo de retorno de la declaración de tipo de valor de retorno de la función.
Puede declarar los tipos de retorno son:
int
flotador
bool
cadena
las interfaces
formación
invocable
ejemplos de declaración de tipo de retorno
Ejemplo, pidió que regresara a un entero:
Ejemplos
declarar (strict_types = 1);
returnIntValue función (int $ valor): int
{
devolver el valor $;
}
impresión (returnIntValue (5));
?>
La salida por encima de la ejecución del programa es:
5
Ejemplos de declaración de error de tipo de retorno Ejemplos
<? Php
declarar (strict_types = 1);
returnIntValue función (int $ valor): int
{
return $ Valor + 1,0;
}
impresión (returnIntValue (5));
?>
Ejemplos
declarar (strict_types = 1);
returnIntValue función (int $ valor): int
{
return $ Valor + 1,0;
}
impresión (returnIntValue (5));
?>
El programa anterior debido al modo estricto, el valor de retorno debe ser un entero, pero los resultados son flotador, le será dada, la producción de ejecución es:
Fatal error: Uncaught TypeError: Return value of returnIntValue() must be of the type integer, float returned...