¡PHP 8.4 ha llegado! Novedades que te harán vibrar
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!