Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/03/2011, 10:28
krikis
 
Fecha de Ingreso: diciembre-2010
Mensajes: 13
Antigüedad: 14 años
Puntos: 0
Problema con fluent interface / Funciones Anidadas

fluent interface esta habilitado a partir de php5, en php4 no funciona, me refiero a cuando hacemos lo siguiente:

Código PHP:
$Objetc = new unObjeto();

$Object->setAlgo(1)->setOtraCosa(2)->setUnaCosaMas(3); 
En el quickstart de zend se usa en el datamapper y tambien siempre lo use en otras circunstancias

Ejemplo:

Código PHP:
public function find($idApplication_Model_Guestbook $guestbook)
    {
        
$result $this->getDbTable()->find($id);
        if (
== count($result)) {
            return;
        }
        
$row $result->current();
        
$guestbook->setId($row->id)
                  ->
setEmail($row->email)
                  ->
setComment($row->comment)
                  ->
setCreated($row->created);
    } 
El tema es que no entiendo por que me da error cuando lo hago de esta manera.

Error: Fatal error: Call to a member function setEmail() on a non-object in...

Ahora si lo hago como en php4 funciona todo perfecto, ejemplo:

Código PHP:
public function find($idApplication_Model_Guestbook $guestbook)
    {
        
$result $this->getDbTable()->find($id);
        if (
== count($result)) {
            return;
        }
        
$row $result->current();
        
$guestbook->setId($row->id)
        
$guestbook->setEmail($row->email)
        
$guestbook->setComment($row->comment)
        
$guestbook->setCreated($row->created);
    } 
Obviamente tengo php5, no entiendo por que no funciona, a alguien le paso?