Persistencia de Objetos en PHP

0

Uno de los problemas con los que me he enfrentado al programar OO en PHP es la persistencia de objetos, y esque como sabemos al terminar de ejecutarse nuestro código y pasar de una página a otra todas las variables y valores se pierden. Para evitar esto existen tres formas de persistencia de datos:

  1. Cookies
  2. Pasar los valores
  3. Base de Datos

Ahora bien, para persistir un objeto hay que serializarlo y deserializarlo con las funciones serialize() y unserialize() respectivamente, esto con el fin de poder usar el objeto y sus propiedades tal como estaban antes de ser serializado. Cabe mencionar que al serializar un objeto no se serializan los métodos, sino los valores de sus atributos.

Al llamar a la función serialize() y unserialize estas a su vez invocan el método __sleep() y __wakeup() (si existen) de nuestra clase con las cuales podemos preparar nuestro objeto para ser serializado y deserializado.

Serialización de Objetos

PHP:
// ClassFoo.php
class Foo {
   private $a;
      __constuct ($a) {
         $this->a = $a;
      }

      public function getA () {
         retun $this->a;
      }
}

// Ejemplo.php
session_start();
include('ClassFoo.php');
$obj = new Foo('Hola');
$_SESSION['MiObjeto'] = serialize($obj);

// Ejemplo2.php
session_start();
include('ClassFoo.php');
$obj = unserialize($_SESSION['MiObjeto']);
echo $obj->getA(); // Imprime: Hola

*Nota: Para que los objetos sean restaurados con la función unserialize() se debe incluir la clase padre.

Un Feed RSS con PHP

0

Un feed RSS es un archivo escrito en lenguaje XML y suele ser usado por blogs o sitios de noticias. Los feeds se crearon con la finalidad de que los sitios pudieran sindicar sus contenidos, es decir, dar a sus lectores la posibilidad leer los contenidos desde un lector de feeds ya sea basado en web o local (software instalado en tu sitema operativo).

En este artículo explicaré como generar un sitema de feed RSS propio, utilizando PHP y programación orientada a objetos. (POO).

Leer Más »

¡Hola mundo!

3

Bienvenidos a El Tiliche.net!