¡PHP 8.4 ha llegado! Novedades que te harán vibrar

author

Herminio Heredia

hace 1 mes

¡Prepárate para una inyección de adrenalina pura! PHP 8.4 ya está aquí, cargado de nuevas funciones que te harán la vida más fácil y tu código más potente. ¿Quieres saber qué te espera? ¡Sigue leyendo!

En este post descubrirás:

  • Nuevas funciones para buscar en arrays (¡di adiós a los bucles interminables!)
  • Property Hooks: ¡Dile adiós al código repetitivo!
  • Instanciación de clases sin paréntesis: ¡Más simple y elegante!
  • Y mucho, mucho más...

Encuentra lo que buscas en tus arrays con PHP 8.4

¿Cansado de recorrer arrays con bucles? PHP 8.4 introduce nuevas funciones que te simplificarán la vida:

  • array_find(): Encuentra el primer elemento que cumpla una condición.
  • array_find_key(): Obtén la clave del primer elemento que cumpla una condición.
  • array_any(): Verifica si al menos un elemento cumple una condición.
  • array_all(): Comprueba si todos los elementos cumplen una condición.

¡Olvídate de los bucles foreach y escribe código más limpio y eficiente!

Property Hooks: ¡El fin del código repetitivo!

Inspirados en lenguajes como Kotlin, C# y Swift, los Property Hooks te permiten definir acciones personalizadas al leer o escribir una propiedad. ¡Dile adiós a los getters y setters tradicionales!

class User 
{
    private bool $isModified = false;

    public function __construct(
        private string $first,
        private string $last
    ) {}

    public string $fullName {
        get => $this->first . " " . $this->last;
        set {
            [$this->first, $this->last] = explode(' ', $value, 2);
            $this->isModified = true;
        }
    }
}

Con los Property Hooks, tu código será más conciso y legible.

Instanciación de clases sin paréntesis: ¡Más simple y elegante!

¿Te acuerdas de esos molestos paréntesis al instanciar una clase y acceder a sus miembros? ¡En PHP 8.4 ya no los necesitas!

// Antes:
$request = (new Request())->withMethod('GET')->withUri('/hello-world');

// Ahora:
$request = new Request()->withMethod('GET')->withUri('/hello-world');

Un pequeño cambio que marca una gran diferencia en la legibilidad de tu código.

Crea un DateTime a partir de una marca de tiempo Unix

PHP 8.4 te lo pone más fácil con el nuevo método createFromTimestamp(). ¡Soporta tanto marcas de tiempo Unix estándar como con microsegundos!

$dt = DateTimeImmutable::createFromTimestamp(1718337072);
$dt->format('Y-m-d'); // 2024-06-14

$dt = DateTimeImmutable::createFromTimestamp(1718337072.432);
$dt->format('Y-m-d h:i:s.u'); // 2024-06-14 03:51:12.432000

Nuevas funciones mb_ para strings multibyte

PHP 8.4 añade soporte para strings multibyte a las funciones trim, ltrim, rtrim, ucfirst y lcfirst. ¡Ahora podrás trabajar con strings de cualquier idioma sin problemas!

  • mb_trim()
  • mb_ltrim()
  • mb_rtrim()
  • mb_ucfirst()
  • mb_lcfirst()

Visibilidad asimétrica de propiedades: ¡Más control sobre tus clases!

Ahora puedes definir diferentes niveles de visibilidad para la lectura y escritura de una propiedad. ¡Más flexibilidad y seguridad para tus clases!

class Book
{
    public function __construct(
        public private(set) string $title,
        public protected(set) string $author,
        protected private(set) int $pubYear,
    ) {}
}

¿Quieres saber más?

¡Esto es solo la punta del iceberg! PHP 8.4 viene con muchas más novedades y mejoras. Visita la página oficial de PHP 8.4.0 Release Announcement para conocer todos los detalles.

Recursos adicionales:

  • UPGRADING: Descubre las novedades, cambios incompatibles y todo lo que necesitas saber para actualizar a PHP 8.4.
  • Downloads: Descarga el código fuente de PHP 8.4.

¡No esperes más y sumérgete en el emocionante mundo de PHP 8.4!

Herminio Heredia

¡Hola! Soy Herminio Heredia Santos, un apasionado del desarrollo web que ha encontrado en Laravel su herramienta predilecta para crear proyectos increíbles. Me encanta la elegancia y la potencia que...

Suscríbete para Actualizaciones

Proporcione su correo electrónico para recibir notificaciones sobre nuevas publicaciones o actualizaciones.