Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Duda con view helper.

Estas en el tema de Duda con view helper. en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola amigos, tengo una duda con los view helper y esta es si en un view helper podemos crear dos metodos distintos y despues instanciarlos ...
  #1 (permalink)  
Antiguo 20/11/2009, 18:19
 
Fecha de Ingreso: octubre-2009
Mensajes: 240
Antigüedad: 15 años, 2 meses
Puntos: 6
Duda con view helper.

Hola amigos, tengo una duda con los view helper y esta es si en un view helper podemos crear dos metodos distintos y despues instanciarlos en la plantilla.
Ejemplo:
Código PHP:
class App_Helper_Formulario extends Zend_View_Helper_Abstract{
    
    public function 
formulario(){
        
$auto=Zend_Auth::getInstance();
        if(
$auto->hasIdentity()){
        
$nombre=Zend_Auth::getInstance()->getIdentity();
        echo
"<span id='formul'>Usuario:".$nombre." || <a href='/index/logout'> Logout </span>";    
        }
        else{
        
$form="<table border=0>\n";
        
$form.="<form id='formul' method='post' action='/index/login'>\n";
        
$form.="<tr><td>Nombre:&nbsp;<input type=text name=nombre size=9></td>\n";
        
$form.="<td>Clave:&nbsp;<input type=password name=clave size=9></td>\n";
        
$form.="<td><input type=submit value=enviar></td></tr></form>\n";
        
$form.="</table>\n";
        return 
$form;
        }
    }
    
    
    public function 
centroizquierda(){
        
        
$dives="<div id=easyTooltip>";
        
$dives.="<ol>";
        
$dives.="<li>hola</li>";
        
$dives.="<li>quetal</li>";
        
$dives.="<li>hola</li>";
        
$dives.="<li>quetal</li>";
        
$dives.="</ol>";
        
$dives.="</div>";
        return 
$dives;
    }
        
        

Con el metodo formulario no hay problemas.
Código PHP:
<?php echo $this->Formulario();?>
el problema es el otro metodo lo instancio de esta forma pero me arroja error.

Código PHP:
$menu=$this->Formulario();
echo 
$menu->centroizquierda(); 
No se si esto se puede hacer, o, si el view helper debemos instanciar el metodo que lleva el mismo nombre que la clase y solo ese.
Saludos.
  #2 (permalink)  
Antiguo 20/11/2009, 19:07
 
Fecha de Ingreso: noviembre-2007
Ubicación: Lanus, Buenos Aires
Mensajes: 178
Antigüedad: 17 años, 1 mes
Puntos: 14
Respuesta: Duda con view helper.

Por convencion, lo que se suele hacer es que si el view helper no recibe ningun parametro, retorna $this, caso contrario ejecuta la logica del metodo principal

Código PHP:
class My_View_Helper_Ejemplo extends Zend_View_Helper_Abstract
     
    public function 
ejemplo($data null){
      if (
$data === null) return $this;

      
$this->hacerAlgo($data);
        
    }
     
     
    public function 
hacerAlgo($data){ 
         
        
    } 

    public function 
otraCosa(){ 
         
       return 
"otra cosa";
        
    }          
         

En la vista todo esto es valido

Código PHP:
$this->ejemplo("hola");
echo 
$this->ejemplo()->otraCosa(); 

Espero que te sirva para ver mas claros los errores que tienes en el codigo posteado, cualquier cosa avisa =)

Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:05.