Pregunta:
Fecha: 21-12-2015 03:09:31
(En Español)
Votos: 6 - Respuestas: 1 - Vistas: 13 Compartir en: Google Facebook Twitter LinkedIn Link
Nuevas Caracteristicas de PHP 7 Parte 1[Resuelta]
PHP7 Parte 1 - Nuevas caracteristicas de PHP 7 / Que hay de nuevo
Votos: 6 - Respuestas: 1 - Vistas: 13 Compartir en: Google Facebook Twitter LinkedIn Link
Respuestas:
-
Fecha: 21-12-2015 08:16:53 Muchas gracias por compartir, me gusto mucho tu video, hay calidad en la explicación de conceptos.
Voy a resumir algunos puntos visto en el video.
Concepto de Coercitivo (por defecto) y Estricto en cuanto al modo de validación de parametros en una función.
El modo estricto se habilita con la siguiente directiva:
//activar declaración estricta declare(strict_type=1);
Tipos que se pueden validar: string, int, float, bool, arrays y callables
Ejemplo de código:
// Modo estricto declare(strict_type=1); function sumaDeEnteros(int $numero1, int $numero2){ return $numero1 + $numero2; } var_dump(sumaDeEnteros(2, '3')); //esto falla con un error fatal porque el segund parametro no es int, sino string.
Funciones variádicas
Ahora bien, en el ejemplo de php se puede ver que se utilizo funciones variádicas.
// Modo coercitivo function sumaDeEnteros(int ...$enteros){ return array_sum($enteros); } var_dump(sumaDeEnteros(2, '3', 4.1));
Operador "...": permite muchos argumentos en una función y los convierte en un array asignado al parametro, aquí una explicación muy buena http://librosweb.es/tutorial/las-nuevas-funciones-variadicas-de-php-56/
Declaración de tipo devolución estricta:
Esta acción se realiza por medio de dos puntos ":" al final y el tipo de dato que debe validar para el retorno.
En el ejemplo de la suma:
// Modo estricto declare(strict_type=1); function sumaDeEnteros(int $numero1, int $numero2):int { return $numero1 + $numero2; } var_dump(sumaDeEnteros(2, 3)); //si no se devuelve un integer, se dará un fatal error.
Saludos, Votos: 3 - Link respuesta
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
