Introducción de nuevas características en PHP 7

Utpal Biswas
Utpal Biswas

Follow

2 de enero, 2019 – 3 min read

La comunidad de PHP está muy emocionada por dar la bienvenida a esta última versión. Pero esto no significa que php se haya estancado en este momento. Ellos actualizaron muchas cosas en este tiempo, pero PHP 7 es una versión totalmente nueva con algunas características emocionantes.

La VELOCIDAD es la increíble característica que PHP 7 trae en esta versión. Los desarrolladores trabajaron muy duro para refactorizar el código PHP con el fin de reducir el consumo de memoria y aumentar el rendimiento y ciertamente tuvieron éxito. junto con esto hay algunas otras características que voy a describir a continuación.

Como sabemos PHP es considerado como un lenguaje de tipo débil. En esencia, esto significa que PHP no requiere declarar tipos de datos. Las variables siguen teniendo tipos de datos asociados a ellas pero puedes hacer cosas radicales como añadir una cadena a un entero sin que se produzca un error. Las declaraciones de tipos pueden ayudarle a definir lo que debe ocurrir para que obtenga los resultados esperados. Esto también puede hacer que tu código sea más fácil de leer. Veremos algunos ejemplos específicos en breve

Pistas de tipos escalares

Con PHP 7 hemos añadido los tipos escalares. Específicamente: int, float, string y bool.

Al añadir sugerencias de tipos escalares y habilitar requisitos estrictos, se espera que se puedan escribir programas PHP más correctos y autodocumentados. También le da más control sobre su código y puede hacer que el código sea más fácil de leer.

Aquí hay un ejemplo con non strict

function total(float $a, float $b) {
return $a + $b;
}

output

total(2.8, "3.2");
// string "3.2" changed to float(3.2) no notice
//returns float(6)

output con warning

total(2, "1 week"); 
// int(2) changed to float(2.0) and string "1 week" changed to float(1.0) but you will get a "Notice: A non well formed numeric value encountered"
//returns float(3)

Si se produce un desajuste en la declaración de tipos, se lanza un «Error Fatal» con el modo strict activado. aquí está el ejemplo

declare(strict_types=1);function total(float $a, float $b) {
return $a + $b;
}total(2, "1 week");
// Fatal error: Uncaught TypeError: Argument 2 passed to total() must be of the type float, string giventotal(2.5, 1);
// int(1) change to float(1.0)
//returns float(3.5)

como vemos cuando usamos el modo estricto «on» la advertencia se convirtió en Error que es muy útil y la forma estructurada de entender y obtener la salida deseada de la base de código.

Declaraciones de tipo de retorno

PHP 7 también soporta las declaraciones de tipo de retorno que apoyan todos los mismos tipos como argumentos. Para especificar el tipo de retorno, añadimos dos puntos y luego el tipo justo antes de la llave de apertura.

function total(float $a, float $b) : float {}

Nuevos operadores :

PHP 7 también nos trae algunos operadores nuevos. El primero que vamos a explorar es el operador nave espacial. El operador nave espacial, u operador de comparación combinada, es una buena adición al lenguaje, complementando los operadores mayor-que y menor-que. like

$compare = 2 <=> 1
2 < 1? return -1
2 = 1? return 0
2 > 1? return 1

Operador de coalescencia nula

Otro nuevo operador, el operador de coalescencia nula, es efectivamente el legendario if-set-or. Devolverá el operando de la izquierda si no es NULL, de lo contrario devolverá el de la derecha. como

$name = $firstName ?? "Guest";

Antes de la versión 7.X era como

if (!empty($firstName)) $name = $firstName;
else $name = "Guest";

¡Lo que lo hace aún más potente es que puede apilarlos! Esta operación comprobará cada elemento de izquierda a derecha y cuando encuentre uno que no sea nulo utilizará ese valor. como

$name = $firstName ?? $username ?? $placeholder ?? "Guest";

Esto es divertido ¿no??

Si estás listo para empezar a jugar con PHP7 ve a ver todos los cambios en PHP 7. X

Deja una respuesta

Tu dirección de correo electrónico no será publicada.