DEV Community

David Israel Raygoza Ramirez
David Israel Raygoza Ramirez

Posted on

Nuevas características en PHP 8

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();
Enter fullscreen mode Exit fullscreen mode

Example

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);
Enter fullscreen mode Exit fullscreen mode

Example

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)
Enter fullscreen mode Exit fullscreen mode

PHP 8

$order = null;
$order?->invoice?->number
Enter fullscreen mode Exit fullscreen mode

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;
        }
    }
}
Enter fullscreen mode Exit fullscreen mode

PHP 8

$country = $session?->user?->getAddress()?->country;
Enter fullscreen mode Exit fullscreen mode

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...

Latest comments (0)