Ver Mensaje Individual
  #2 (permalink)  
Antiguo 25/07/2007, 16:47
zsamer
 
Fecha de Ingreso: noviembre-2003
Mensajes: 798
Antigüedad: 21 años, 1 mes
Puntos: 8
Re: Guardar objecto en un archivo

hola, si el objeto es serializable lo tienes que serializar antes de guardar en un archivo o db.

Ejemplo con PHP5
Código PHP:
<?php
class ObjectSaver{
    private 
$objectFile './objects.txt';
    
    private function 
__construct($objectFile){
        if(isset(
$objectFile) && is_string($objectFile) && (strlen($objectFile)>0) ){
            
$this->objectFile $objectFile;
        }
        
        
$this->save();
    }
    
    private function 
save(){
        if(!
$fp=fopen($this->objectFile,'w')){
            throw new 
Exception('Error al abrir el archivo');
        }
        if(!
fwrite($fp,serialize($this))){
            throw new 
Exception('Error al guardar el objeto en el archivo');
        }
        
fclose($fp);
    }
    
    public function 
fetch(){
        if( !
$obj unserialize(file_get_contents($this->objectFile)) ){
            throw new 
Exception('Error al obtener el objeto desde el archivo');
        }
        return 
$obj;
    }
    
    public function 
displayMessage(){
        return 
'Este es un Objeto que fué guardado y ahora ejecuta este método $this->displayMessage()!';
    }
}

try {
    
$objSaver = new ObjectSaver('./objects.txt');
    
$newObj $objSaver->fetch();
    print 
$newObj->displayMessage();
} catch(
Exception $e){
    echo 
'Error : '.$e->getMessage();
    exit();
}
?>