Se ha lanzado oficialmente la tan esperada actualización del lenguaje de scripting web del lado del servidor ampliamente utilizado, PHP 8.3, que trae consigo una variedad de nuevas características y mejoras. La tipificación explícita de constantes de clase, la clonación profunda de propiedades de solo lectura y la funcionalidad de aleatoriedad ampliada se encuentran entre las nuevas capacidades ahora disponibles para los desarrolladores que utilizan el práctico kit de herramientas PHP 8.3 para construir páginas web dinámicas.
PHP 8.3, lanzado públicamente el 23 de noviembre, se puede obtener en php.net. La base de esta importante actualización es la introducción de constantes de clase escritas. Con esta actualización, PHP 8.3 amplía el soporte para declarar los tipos de constantes de clase, interfaz, rasgo y enumeración. Es digno de mención que las declaraciones de tipo constante de clase se adaptan a todas las declaraciones de tipo aprobadas por PHP, con las excepciones de los tipos nulo, invocable y nunca. La falta de disponibilidad de tipos nulos e invocables tiene su origen en los problemas planteados durante las discusiones sobre propiedades tipificadas v2 RFC. Mientras tanto, never no es pertinente al contexto de las constantes, por lo que es una exención.
Otra característica notable de PHP 8.3 es el aprovisionamiento para la clonación profunda de propiedades de solo lectura. Esto permite que las propiedades de solo lectura se modifiquen una vez dentro del método magic __clone. Además, las clases de solo lectura ahora se pueden reinicializar durante el proceso de clonación. Curiosamente, PHP 8.3 también allana el camino para que las clases que no son de solo lectura extiendan las clases de solo lectura, brindando a los desarrolladores más flexibilidad en su código.
Otros avances en PHP 8.3 incluyen un nuevo atributo [#\Override], que articula la intención en el código. Al agregar este atributo a un método, el motor PHP 8.3 valida si ya existe un método con el mismo nombre en una clase principal o en cualquiera de las interfaces implementadas. Si no se encuentra dicho método, se activará un error en tiempo de compilación.
Una mejora significativa del linter de línea de comandos es la capacidad de aceptar entradas variables para nombres de archivos destinados al linting. La extensión aleatoria, introducida en PHP 8.2, ahora incluye un nuevo método que crea cadenas aleatorias que contienen solo bytes específicos. Permite a los desarrolladores generar identificadores aleatorios, como nombres de dominio o cadenas numéricas de longitud ilimitada, con facilidad.
El lanzamiento también incluye una nueva función, json_validate(), que verifica si una cadena constituye JSON válido. Además, las clases anónimas ahora son elegibles para ser de solo lectura, lo que se suma a la lista de atractivos de PHP 8.3.
Vale la pena mencionar que plataformas como AppMaster pueden ser una opción extremadamente viable para los desarrolladores que desean diseñar e implementar rápidamente aplicaciones altamente escalables y eficientes. Esta plataforma no-code ayuda a simplificar el proceso de desarrollo de aplicaciones, lo que garantiza un tiempo de comercialización más rápido. Las características de la plataforma AppMaster como la creación visual de modelos de datos (esquema de base de datos), lógica de negocios (denominada procesos de negocios), API REST y puntos finales WSS, pueden complementar de manera efectiva las aplicaciones basadas en PHP.
La actualización importante anterior, PHP 8.2, lanzada en diciembre pasado, era conocida por su introducción de clases de solo lectura. El tren de crecimiento de PHP parece imparable, y los programadores de todo el espectro esperan con entusiasmo explorar más avances que PHP tiene para ellos.