Novedades PHP 7

Filtros para unserialize

Prueba ahora LinkedIn Learning sin cargo y sin compromiso.

Prueba gratis Mostrar modalidades de suscripción
Previo a PHP 7, la creación de objetos dinámicos con unserialize podía ser una tarea peligrosa debido a que se podía inyectar valores y no teníamos forma de filtrar dichos objetos de cuya integridad podíamos llegar a dudar. Con PHP 7 llegan los filtros que nos permiten determinar qué objetos no queremos serializar y simplemente se convierten en un clase especial llamada PHP_INCOMPLETE_CLASS.
03:29

Transcripción

Una de las características más interesantes de PHP 7 es que, con la función 'deserializar' –'unserialize'–, podemos agregar filtros para salvaguardar la integridad de nuestra aplicación, porque la función 'unserialize' lo que hace es genera un objeto o un arreglo o un arreglo de objetos, como en este caso, y crea instancias en el caso de ser clases. Aquí tenemos una clase 'User' y una clase 'FemaleUser'. Sin embargo, aquí le inyectamos código erróneo, en el cual el género lo pone como masculino, y entonces ya podemos decir que el objeto no tiene la integridad que debería. Para eso podemos filtrar con 'unserialize' y entonces decir "esta clase de 'FemaleUser' no me la serialices". Vamos a hacer un ejemplo para mostrar esta funcionalidad nueva de PHP. Vamos a crear un 'foreach', un ciclo, en el cual nuestro arreglo de "data" simplemente vamos a obtener el valor. en este caso vamos a ponerle la instancia, 'instance', y lo que vamos a hacer aquí es simplemente mostrar clase, qué clase es, 'get_class' del objeto, 'get_class', y por último vamos a mostrar el género. En este caso, aquí estamos definiendo que tiene género y que tiene género. Entonces, vamos a decir a la instancia, vamos a mandarla llamar dentro de nuestro ciclo y aquí vamos a decir, vamos a llamarla con 'gender'. Es un atributo y simplemente lo mostramos en la pantalla. Vamos entonces a verlo en el navegador y nos muestra... Vamos a poner, para que lo muestre bien, 'echo' en el navegador, 'br' y listo. Entonces tenemos un usuario, y esta instancia de la clase 'User' tiene como género 'male', igual que 'FemaleUser'. Entonces podemos hacer lo siguiente: vamos a agregar un filtro en el cual solo vamos a permitir que haga instancia de la clase 'User'. Entonces vamos a decir que es 'allowed _classes' y vamos a decir que este 'allowed_classes' tiene un valor. El nombre de la clase se llama 'User'. Refrescamos y entonces crea una instancia de la clase 'PHP_Incomplete_Class', y por lo tanto ya no podemos hacer referencia a sus atributos. Con esto podemos salvaguardar la integración de nuestra aplicación, porque 'unserialize' puede crear objetos en el momento de ejecución y eso puede ser relativamente peligroso para nuestra aplicación.

Novedades PHP 7

Descubre las nuevas funcionalidades de PHP 7 y conoce los beneficios del cambio de versión que te permitirá incrementar la velocidad de tu aplicación con los mismos recursos.

58 min (20 Videos)
Actualmente no hay comentarios.
Software:
Fecha de publicación:20/04/2016

Este curso video2brain está disponible como descarga y para ser visualizado online. ¡Pero no hace falta que decidas entre las dos opciones! Al comprar el curso, disfrutarás de ambas posibilidades.

La descarga te permite ver las lecciones sin estar conectado/a a internet y supone una navegación fácil y ágil entre capítulo y capítulo. Si vas a trabajar en diferentes ordenadores o si no quieres descargarte el curso completo, entra en la web con tus datos de acceso y disfruta directamente de tus vídeos online. Te deseamos que disfrutes de este curso y te resulte de mucha utilidad.

Estamos a tu disposición si tienes cualquier tipo de duda o pregunta.