Novedades de PHP 8.3

Novedades de PHP 8.3

¡Hola! ¡Bienvenidos nuevamente! El 23 de noviembre de 2023 se lanzó oficialmente la versión de PHP 8.3, incluye varias mejorar y nuevas funcionalidades, como por ejemplo, clases de solo lectura, la función json_validate(), detección de desbordamiento de pila entre otras muchas funcionalidades que veremos en este post. Si quieres aprender PHP quédate es este curso que te enseña paso a paso desde cero.

¡Empecemos!

Validación de cadenas JSON con json_validate

PHP 8.3 agregó la funcionalidad de validación json_validate() que devuelve verdadero o falso si la cadena dada es una cadena JSON válida.

Con la función json_validate() nos permite validar una cadena JSON de forma más efectiva sin la necesidad de transformar a un array o objeto como se hacía anteriormente con json_decode(). Por Ejemplo:

$valueJson = ‘{ "email": "admin@gmail.com",  "password": "admin1" }’;
if (json_validate($valueJson)) {
    echo “JSON válido”;
}

Si la cadena JSON no es válida.

$valueJson = ‘{ "email"= "admin@gmail.com",  "password"= "admin1" }’;
if (json_validate($valueJson)) {
    echo “JSON no válido”;
}

También podemos definir un esquema predefinido lo que garantiza la coherencia y precisión de los datos, Por ejemplo:

$valueJson = ‘{ "email": "admin@gmail.com",  "password": "admin1" }’;
$schemaJson = '{"type": "object", "properties": {"email": {"type": "string",  "format": "email"}, "password": {"type": "string"}}}';
if (json_validate($valueJson, schemaJson)) {
    echo “JSON válido”;
}

Declaración de tipo de dato en las constantes de las clases

PHP 8.3 introduce una característica muy necesaria y poderosa declara el tipo de dato en las constantes de una clase, esto mejora la confiabilidad de cada constante declarada en el código de PHP. Por ejemplo:

class calculateCircleArea{
    const float PI = 3.141592;
    const string MESSAGE = 'El área del círculo';
}

El método getBytesFromString() la extensión Random

El método getBytesFromString() nos proporciona una manera sencilla de generar una cadena aleatoria con una longitud dada a partir de una cadena base, el método seleccionará caracteres de la cadena al azar hasta que alcance la longitud especificada. Por ejemplo:

$random = new Random\Randomizer();
$myString = 'HOLAPHP8.3';
$random->getBytesFromString($myString, 5); //  "8AAHP"
$random->getBytesFromString($myString, 6); //  "POHAL8"

El método getFloat() y nextFloat() la extensión Random

Los métodos getFloat() y nextFloat() se introducen una nueva funcionalidad como parte de la extensión de la funcionalidad de Random, Nos proporciona obtener números de punto flotante aleatoriamente  en un rango indicado entre un mínimo y máximo. Por ejemplo:

$random = new Random\Randomizer();
$random->getFloat(2,7); // 3.3928465374

El método nextFloat() es similar a utilizar getFloat() con la diferencia que solicita un valor aleatorio que oscila entre 0 y 1. Por ejemplo:

$random = new Random\Randomizer();
$random->nextFloat(); // 0.34565562212

Estas son algunas de las características y novedades más destacadas de PHP 8.3. Se recomienda verificar la documentación oficial de PHP para obtener más información sobre las novedades y características de la versión de PHP 8.3. si tienes alguna consulta puedes dejarnos un comentario.

Saludos y éxitos.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *