Persistencia de objetos para PHP

 

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!

Author: angelinux

Desarrollador de páginas web desde el año 2000 y con experiencia en programación de sistemas para empresas desde el 2008; cofundador de CONSoluciones; autor del blog de software libre “Angelinux-slack”; docente en maestría en UPAV y fundador de la distribución Linux Falco que está en desarrollo para la Universidad Veracruzana.
Además, ponente, organizador de congreso, laborista social, impartidor de cursos de programación y servidores Linux, webmaster, y ex invitado en programa de televisión.

Deja un comentario