PHP 8.3: Novedades y Cambios de la Última Versión
Se lanzo y habilito la versión PHP 8.3 para todos nuestros planes de HOSTING CORPORATIVO, VPS, SERVIDORES DEDICADOS y contiene muchas nuevas funciones y mejoras desde el lanzamiento de PHP 8.2. Aunque oficialmente se considera una versión menor, algunos de los cambios de la 8.3 podrían afectar directamente a tu trabajo con PHP, quizás ayudándote a programar más rápido y con menos errores.
Nuevas Funciones y Mejoras en PHP 8.3
Empecemos explorando las características de PHP 8.3 que acaparan la mayoría de los titulares.
- Constantes de Clase Tipadas
- Una Nueva Función json_validate()
- Clonación Profunda de Propiedades readonly
- Nuevo Atributo #[\Override]
- Obtención Dinámica de Constantes de Clase y Miembros de Enum
- Nuevo Método getBytesFromString()
- Nuevos Métodos getFloat() y nextFloat()
Otros Cambios Menores en PHP 8.3
PHP 8.3 también incluye otras funciones nuevas y cambios menores. Los mencionaremos a continuación con enlaces a recursos adicionales (cuando estén disponibles):
- Nuevos métodos para la clase DOMElement: DOMElement::getAttributeNames(), DOMElement::insertAdjacentElement(), DOMElement::insertAdjacentText(), DOMElement::toggleAttribute(), DOMNode::contains(), DOMNode::getRootNode(), DOMNode::isEqualNode()dOMNameSpaceNode::contains(), y MParentNode::replaceChildren().
- Nuevos métodos para la clase IntlCalendar: IntlCalendar::setDate(), IntlCalendar::setDateTime(), IntlGregorianCalendar::createFromDate()y IntlGregorianCalendar::createFromDateTime().
- Nuevas funciones LDAP: ldap_connect_wallet() y ldap_exop_sync().
- Nuevo mb_str_pad() función cadena multibyte.
- Nuevas funciones POSIX: posix_sysconf(), posix_pathconf(), posix_fpathconf()y posix_eaccess().
- Nuevo método ReflectionMethod::createFromMethodName() método.
- Nueva función de socket: socket_atmark().
- Nuevas funciones de cadena: str_increment(), str_decrement()y stream_context_set_options().
- Nuevo método de la clase ZipArchive: ZipArchive::getArchiveFlag().
- Nuevo ajuste INI para establecer el tamaño máximo de stack permitido: zend.max_allowed_stack_size.
Depreciaciones en PHP 8.3
Con cada nueva versión de PHP, algunas funciones y configuraciones se marcan para su eventual eliminación. Una vez desaprobadas, estas funciones no se recomiendan para un uso continuado y generarán avisos en muchos registros cuando aparezcan en código en ejecución.
Aquí tienes una lista de desaprobaciones en PHP 8.3, con enlaces a información adicional:
- La constante U_MULTIPLE_DECIMAL_SEPERATORS queda obsoleta en favor de U_MULTIPLE_DECIMAL_SEPARATORS.
- La variante 3MT_RAND_PHP Mt19937 está obsoleta.
- ReflectionClass::getStaticProperties() ya no es anulable.
- Ajustes INI assert.active, assert.bail, assert.callback, assert.exceptiony assert.warning están obsoletos.
- Llamando a get_class() y get_parent_class() sin argumentos están obsoletos.