Dentro de las nuevos aspectos de PHP 8, revisaremos 2 que parecen muy interesantes para implementar e investigar a profundidad, veamos los siguientes que nos permiten observar la diferencia de código de acuerdo a cada versión.
Named Arguments
Una de las características interesantes dentro de versión de PHP8 que llama mucha la atención son los "Named arguments", ya era posible utilizarlos en otros lenguajes, en este momento ya esta disponible para su uso.
PHP 7
Este sería nuestro ejemplo más básico de cómo enviar parámetros por posición.
<?php
function make_drink($type = "cappuccino",$cup=2)
{
return "$cup cup(s) of $type.\n";
}
echo make_drink();
PHP 8
En PHP8 es posible enviar los parámetros combinando los tipos ya sea por posición y por nombre a continuación podemos ver la declaración de una función y las diferentes formas como se podría invocar esa función.
function make_drink($type = "cappuccino",$cup=2)
{
return "$cup cup(s) of $type.\n";
}
echo make_drink(cup:3, type:'tee');
echo make_drink(type:'chocolate');
echo make_drink('milk',cup:5);
Null safe operator
El NULL safe operator es un forma de verificar si la propiedad es existente en el objeto de manera que la validación queda más limpia y legible.
La versión previa a PHP 8 de validación para evitar errores en nuestro código es la siguiente:
PHP 7
$order = null;
$order->invoice->number ?? null)
PHP 8
$order = null;
$order?->invoice?->number
A simple vista no se aprecia el poder del operador, a continuación podemos ver otro ejemplo donde se aprecia que limpió y legible queda el código
PHP 7
$country = null;
if ($session !== null) {
$user = $session->user;
if ($user !== null) {
$salary = $user->getSalary();
if ($address !== null) {
$mount = $salary->mount;
}
}
}
PHP 8
$country = $session?->user?->getAddress()?->country;
Cómo se puede apreciar en este ejemplo, la nueva característica de PHP 8 es una característica genial para nuestro código.
Si tienes alguna observación para mejorar el artículo o tienes ganas de comentarlo, no dudes en contactarme.
Mientras tanto felices lineas...
Top comments (0)