PHP 8.4 (Beta 3) ya disponible para pruebas en los servidores de SiteGround

Estamos encantados de anunciar que PHP 8.4 (Beta 3) ya está disponible para ser testeado en todos los servidores de SiteGround – mucho antes de su fecha de lanzamiento oficial prevista para el 21 de noviembre de 2024. Una vez más, estamos entre las primeras empresas en ofrecer PHP 8.4 (Beta 3) para su prueba en nuestra plataforma de hosting. Gracias a nuestra exclusiva configuración del servidor PHP, podemos ofrecer las últimas versiones de PHP para que nuestros clientes las prueben de forma segura en sus sitios web alojados con nosotros. 

Descubre más sobre las nuevas características que aporta esta última versión de PHP en la siguiente sección.

Qué hay de nuevo en PHP 8.4 (Beta 3)

Esta última versión introduce algunas novedades muy importantes que mejorarán aún más la experiencia de desarrollo en PHP. Vamos a profundizar algunos de los mayores cambios que ofrece PHP 8.4 (Beta 3):

Ganchos de propiedad

Una de las nuevas características de PHP 8.4 (Beta 3) incluye la capacidad de definir ganchos de propiedad que eliminará la necesidad de una gran cantidad de código repetitivo. Este es uno de los mayores cambios en la historia de PHP. Los ganchos de propiedad ayudarán a eliminar un montón de getters y setters al permitir que cada propiedad defina sus propios ganchos get y set. Lo que es más, una adición emocionante es que en PHP 8.4 (Beta 3) los ganchos de propiedad pueden ser definidos en interfaces.

Podemos coger como ejemplo esta clase bastante estándar:

<?php
declare(strict_types=1);


class Website
{
   private $domain;
   public function __construct(string $domain) {
       $this->domain = $domain;
   }
   public function getDomain(): string {
       return $this->domain;
   }
   public function setDomain(string $domain): void {
       if (strlen($domain) === 0) {
           throw new ValueError("Domain must be non-empty");
       }
       $this->domain = $domain;
   }
}

Con PHP 8.4 (Beta 3) podemos usar los ganchos de propiedad para conseguir el mismo resultado con la siguiente sintaxis:

<?php
declare(strict_types=1);
class Website
{
   public string $domain {
       set {
           if (strlen($value) === 0) {
               throw new ValueError("Domain must be non-empty");
           }
           $this->domain = $value;
       }
       get => $this->domain;
   }

   public function __construct(string $domain) {
       $this->domain = $domain;
   }
}

nuevo sin paréntesis adicionales

Otra nueva característica que te ahorrará mucho código es que ya no tienes que envolver los objetos recién creados entre paréntesis para poder encadenar métodos en ellos.

Además, no sólo funciona con métodos, también puedes encadenar propiedades, métodos estáticos, constantes… básicamente lo que quieras. En resumen, la nueva función simplificará la sintaxis y hará que el código sea más conciso y legible.

Ejemplo:

La característica “acceso a miembros de clase en la instanciación” fue introducida en PHP 5.4.0. Desde entonces se puede acceder a constantes, propiedades y métodos en una instancia recién creada sin una variable intermedia, pero sólo si la nueva expresión está envuelta entre paréntesis:

class Website
{
   ...

   public function getDomain(): string {
       return $this->domain;
   }
}


// Valid syntax
$myDomain = (new Website('siteground.com'))->getDomain();

// Invalid syntax until PHP8.4
$myDomain = new Website('siteground.com')->getDomain();

Nuevas funciones Array

Otro cambio notable en PHP es la introducción de varias funciones Array nuevas. PHP 8.4 introdujo varias nuevas funciones de array con función callback:

array_find()

Función que devuelve el valor del primer elemento del array que coincida con la condición. Si ninguno de los elementos coincide con la condición, la función devolverá `null`.

array_find_key()


Devuelve la clave del primer elemento para el que la llamada de retorno fue true. Si ninguno de los elementos cumple la condición, la función devuelve `null`.

array_all()

Comprueba si la devolución de llamada devuelve true para todos los elementos del array.

array_any()

Comprueba que la llamada de retorno devuelve true para cualquiera de los elementos de un array. 

Estas nuevas funciones facilitan la búsqueda y manipulación de arrays basándose en condiciones personalizadas, lo que en términos generales dará lugar a un código más limpio y fácil de leer.

Cómo testear PHP 8.4 en servidores SiteGround

Como cliente de SiteGround, puedes testear fácilmente PHP 8.4 (Beta 3) en tu sitio web. Simplemente accede a tu Site Tools > Desarrolladores > Gestor PHP y podrás reemplazar la versión actual de PHP utilizada por tu sitio con PHP 8.4 (Beta 3) con un solo clic.

Ten en cuenta que PHP 8.4 (Beta 3) está disponible principalmente para realizar pruebas y, como de costumbre, te recomendamos firmemente que no lo utilices en tu sitio de producción antes de su fecha de lanzamiento oficial programada (21 de noviembre de 2024).

Si necesitas testear PHP 8.4 (Beta 3) con tu sitio existente, te recomendamos que crees un nuevo sitio para pruebas y clones tu sitio de producción en él para probar diferentes cosas. Para ello, puedes utilizar nuestra herramienta de staging (entorno de pruebas) para WordPress. Mientras realizas las pruebas, asegúrate de que nada falle y comprueba tus archivos de registro para ver si aparece alguna advertencia o error. Una vez que hayas terminado las pruebas, puedes simplemente eliminar ese sitio.

Conclusión

En SiteGround, estamos constantemente trabajando para introducir las últimas novedades de la tecnología PHP por delante de los demás. Es por eso que estamos muy contentos de ofrecer a nuestros clientes la última versión de PHP que trae a la mesa algunas grandes mejoras que podrían mejorar significativamente la experiencia de desarrollo PHP. Tómate tu tiempo para probar la nueva versión antes de la fecha oficial de lanzamiento y permanece atento a más actualizaciones de la comunidad PHP.

Daniel Kanchev

Director de Desarrollo de Producto

Daniel es el responsable de dar vida a los nuevos productos de SiteGround. Esto significa manejar todo tipo de tareas y comunicaciones, a través de múltiples equipos. Entusiasta de la tecnología, experiencia de usuario, seguridad y rendimiento, nunca te puedes aburrir teniéndolo a tu alrededor. También, en ocasiones es conferencista y adicto a los viajes.

Iniciar discusión

Artículos relacionados

Ha llegado el momento de practicar