A partir de PHP 5 se dio soporte para objetos con lo cual podríamos dejar de utilizar la programación estructurada y entrar a la nueva era de la programación, aunque tenemos la contra de que al crear un objeto y asignarle valores a las propiedades, estas son fácilmente accesibles desde el archivo donde se asignaron, pero cuando cambiamos de archivo y cargamos nuestra clase, nos damos cuenta que los valores asignados se han perdido y por esta situación nos es muy difícil crear un proyecto o sistema enteramente basado en objetos.
Es por ello que en 2011 me di a la tarea de desarrollar una manera muy simple y sencilla para asignar valores a las propiedades de los objetos y que sean fácilmente recuperadas desde cualquier otro archivo en nuestro proyecto; en 2012 en éste blog publiqué la primera versión y lo empecé a utilizar en mis proyectos, y después de algunas mejoras ahora publico la versión 1.0 la cual soporta:
- Guardar y recuperar valores en texto simple como cadena o enteros.
- Guardar y recuperar arreglos sin perder su estructura.
- Soporte para clonar objetos. Si en un sólo archivo necesitas, por ejemplo, utilizar una clase en particular N veces, entonces la puedes clonar e instanciar en una variable y asignar los valores que gustes, dichas variables pueden ser utilizadas para recuperar la información de los objetos clonados sin problema de que colapsen los datos entre si.
- Limpiar los valores de una clase. Cuando ya no necesites los valores, o quieras guardar nuevos valores y la clase ya tenga valores recuperados previamente, puedes darle la orden de limpiar la clase y estará lista para que coloques los nuevos valores.
- Permite que trabajes en proyectos enteramente basadas en persistencia de objetos o que lo utilices sólo para determinados elementos y no afecta a tu proyecto.
Ejemplos
Se toma como ejemplo una clase llamada persona en la cual se tienen propiedades como el nombre, correo y teléfono.
Asignar valores
include_once('init.php'); //el núcleo de la persistencia include_once('persona.php'); //la clase con soporte para persistencia persona::setValue('nombre', 'Angelos'); //A la clase persona se le asigna el valor 'Angelos' a la propiedad 'nombre'
Una vez que han sido asignado los valores, se pueden recuperar desde cualquier archivo del proyecto, al incluir el núcleo, la clase con soporte para persistencia y la orden de que recupere todos los valores
include_once('init.php'); //núcleo include_once('persona.php'); //clase con soporte para persistencia persona::start(); //orden para recuperar todos los valores de la clase echo persona::getValue('nombre'); //Imprime el valor recuperado 'Angelos'
El código puede ser analizado, descargado o hacerle fork desde:
https://github.com/angelinux-slack/persistenceInPHP
Ver ejemplos en línea
Ejemplo de persistencia de objetos con valores simples y soporte para arreglos
http://angelinux-slack.net/blog_codigos/persistencia/example/simple/
Ejemplo de clonación de objetos con soporte de persistencia de objetos
http://angelinux-slack.net/blog_codigos/persistencia/example/cloneObject/
¡Cualquier contribución es bienvenida!
0 Comentarios