martes, 17 de enero de 2012

Persistencia de objetos en PHP

En algunas ocasiones puede presentarsenos el problema de que persista un objeto que hemos creado, al siguiente Script, pero esto por la naturaleza de funcionamiento del interprete de PHP no es posible. Hay una forma que tal vez ya conocen y que es muy fácil. Al igual que las variables se pueden hacer que persistan al utilizar sesiones, también es igual con los objetos. Aunque esta no es la forma mas adecuada para esto.

Bien, lo que tenemos que hacer es crear nuestra clase en un script aparte esto es muy importante ya que lo necesitaremos incluir en cada script en el que queramos que persista nuestro objeto, ejemplo:

Creamos el archivo clase.php y dentro.

class una_clase{
   private $mensaje;
   public function __construct{
       $this->metodo(){
   }
}

En un script distinto, instanciamos la clase y la serializamos en una variable de sesión, así:

creamos el archivo pag1.php y dentro.

include_once("clase.php");
session_start();
$objeto=new una_clase();
$_SESSION['elobjeto']=$objeto;
header("Location: script3.php");

posteriormente y en un tercer script, lo siguiente:

creamos el archivo script3.php

include_once("clase.php");
session_start();
echo $_SESSION['elobjeto']->mensaje; //aqui se mostrara el contenido de la propiedad mensaje;


Ya es cuestión de imaginación el resto, saludos.

1 comentario:

  1. Eso no es persistir el objeto, lo estas guardando en una variable, no en disco.

    ResponderEliminar