¡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.
