Actualizamos todas nuestras webs a PHP 8.1 y WordPress 6.2

La nueva versión de PHP 8.1 viene pisando fuerte y trae novedades bastante importantes, y en Close·technology nos hemos sumado a todas ellas.

Por eso, hacemos una recopilación de las más interesantes y cómo afecta en las webs. ¡Sigue leyendo!

Contents

Ventajas de actualizar de PHP 7 a PHP 8.1

A continuación hablaremos de las principales funcionalidades y características de esta versión de PHP y sus ventajas que aporta.

La simplificación del código y adaptarse a las nuevas novedades de internet son las dos ventajas principales de esta versión y en las que nos centramos en el desarrollo web para conseguir el mejor rendimiento en las webs.

Todo esto es debido a WordPress 6.2, una nueva actualización

Esta nueva actualización de PHP 8.1, es posible debido a que, en Close·Technology, desarrollamos webs con WordPress, lo que nos da grandes ventajas como conocer al momento cuando una web se cae, requiriendo reestablecerla.

WordPress 6.2 es la última actualización de este CMS que nos ha traído una gran cantidad de funcionalidades nuevas que ya hemos aplicado en todas las páginas webs de nuestros clientes.

WordPress 6.2 y PHP 8.1 son actualización que se le realizará a aquellos clientes que realicen el mantenimiento de su web con nosotros.

Son muchas las ventajas que ofrece esta nueva actualización, ¿A qué esperas para sumarte al cambio?

Para más información, no dudes en contactar con nosotros.

Antes de empezar, ¿qué es PHP 8.1?

PHP es un lenguaje de programación que se adapta principalmente al desarrollo web, y en que está basado WordPress. Su última actualización, la 8.1 contiene una gran cantidad de novedades, optimizaciones y mejoras de rendimiento.

Algunas de las novedades más destacadas son:

  • Enumeraciones
  • Sintaxis First-class Callable
  • Las clases de lectura única, que permite tener una clase inmutable, es decir, que no permite la modificación de esta después de su creación.
  • Expresión New en constructor
  • Tipos de intersección pura
  • Fibers
  • Tipo de retorno Never
  • Constantes de clase final
  • Notación numérica octal explícita
  • Soporte de desestructuración de Arrays
  • Mejoras de rendimiento
  • Nuevas clases, interfaces y funciones
Php 8.1

1. Enumeraciones

Un enum o enumeración es un tipo de dato que se utiliza para definir posibles valores, como «verdadero» o «falso».

En general, los enums son una forma útil de hacer que nuestro código sea más limpio, reducir los errores y hacerlo más fácil de leer.

Con la actualización PHP 8.1, pasa de esto:

class Status
{
    const DRAFT = 'draft';
    const PUBLISHED = 'published';
    const ARCHIVED = 'archived';
}
function acceptStatus(string $status) {...}

A esto:

enum Status
{
    case Draft;
    case Published;
    case Archived;
}
function acceptStatus(Status $status) {...}

2. Fibers

Esta actualización PHP 8.1, permite gestionar las posibles interrupciones en el flujo de tu código, esto quiere decir que controla la versatilidad de la página, permite que si varias personas trabajan simultáneamente en la programación de una página, estas puedan realizar su trabajo sin que se pierda o se dañe, creando un sistema multitrabajo.

Con la actualización, pasa de esto:

$httpClient->request('https://example.com/')
        ->then(function (Response $response) {
            return $response->getBody()->buffer();
        })
        ->then(function (string $responseBody) {
            print json_decode($responseBody)['code'];
        });

A esto:

$response = $httpClient->request('https://example.com/');
print json_decode($response->getBody()->buffer())['code'];

3. Tipo de retorno Never

El tipo de retorno Never, indica que una función se termina y no devuelve ningún otro valor, por ejemplo, si en la función «bolígrafo» introduces «azul», «rojo», y «negro», ninguno de los tres los podrás encontrar en otra función que no sea «bolígrafo».

Con la actualización PHP 8.1, pasa de esto:

function redirect(string $uri) {
    header('Location: ' . $uri);
    exit();
}
 
function redirectToLoginPage() {
    redirect('/login');
    echo 'Hello'; // <- dead code
}

A esto:

function redirect(string $uri): never {
    header('Location: ' . $uri);
    exit();
}
 
function redirectToLoginPage(): never {
    redirect('/login');
    echo 'Hello'; // <- dead code detected by static analysis 
}
Php 8 1 Close

4. Expresión New en constructor

Esta característica del PHP 8.1, permite usar objetos como valores de parámetros predeterminados, variables estáticas y constantes globales, así como en argumentos de atributos. Esto quiere decir que ayuda a la gestión de la web, haciéndola más organizada.

Con la actualización, pasa de esto:

class Service 
{
    private Logger $logger;
 
    public function __construct(
        ?Logger $logger = null,
    ) {
        $this->logger = $logger ?? new NullLogger();
    }
}

A esto:

class Service 
{
    private Logger $logger;
    
    public function __construct(
        Logger $logger = new NullLogger(),
    ) {
        $this->logger = $logger;
    }
}

5. Propiedades de solo lectura

Con esta nueva actualización, no puede editar el contenido una vez que se inicia el modo lectura, es decir, se mantiene intacto el contenido hasta que se finalice el modo lectura.

Con la actualización PHP 8.1, pasa de esto:

class BlogData
{
    private Status $status;
   
    public function __construct(Status $status) 
    {
        $this->status = $status;
    }
    
    public function getStatus(): Status 
    {
        return $this->status;    
    }
}

A esto:

class Demo {
 
    public string $Mutable;
 
    public readonly string $Immutable;
 
    public function __construct(
        string $Mutable,
        string $Immutable) {
 
        $this -> Mutable = $Mutable;
        $this -> Immutable = $Immutable;
    }
 
}

6. Sintaxis First-class Callable

Sirve para reemplazar las codificaciones existentes que emplean cadenas y matrices. Esto quiere decir que simplifica el lenguaje de los programadores para hacerlo mucho más sencillo.

Con la actualización, pasa de esto:

$foo = [$this, 'foo'];

$fn = Closure::fromCallable('strlen');

A esto:

$foo = $this->foo(...);

$fn = strlen(...);
Php 8.1 Actualizacion

2 comentarios en «Actualizamos todas nuestras webs a PHP 8.1 y WordPress 6.2»

  1. Muy interesante, y una de las mejores opciones (a mi parecer), aunque ya se ha implementado en PHP 8.0, es el poder definir varios tipos en los parámetros, ya sea de entrada o salida, por ejemplo:

    protected function get_json_item( string|null $item ) : string {

    para que nuestro método acepte tanto una cadena de texto como un null (devuelve una cadena de texto, pero podrían ser varios tipos).

    PHP 8.X nos trae funciones muy interesantes para mejorar nuestro código y la seguridad del mismo, por ejemplo con los tipos estrictos de datos. Ahora es labor nuestra el aprovechar correctamente estas funcionalidades avanzadas

    Responder

Deja un comentario

Artículo añadido al carrito.
0 artículos - 0,00