Foros del Web » Programando para Internet » PHP »

Pasar variable de un metodo a otro

Estas en el tema de Pasar variable de un metodo a otro en el foro de PHP en Foros del Web. Buenos dias, intento tomar una variable de un metodo para mostrarlo en otro pero no puedo, este es mi ejemplo y la variable es $foo, ...
  #1 (permalink)  
Antiguo 21/05/2014, 12:59
 
Fecha de Ingreso: noviembre-2011
Ubicación: Paris
Mensajes: 450
Antigüedad: 12 años, 5 meses
Puntos: 7
Pasar variable de un metodo a otro

Buenos dias, intento tomar una variable de un metodo para mostrarlo en otro pero no puedo, este es mi ejemplo y la variable es $foo, en que estoy mal? ya que ocupo mandarla a una vista en ZEND

Código PHP:
     class ArtistaController extends Zend_Controller_Action{

          public 
$foo;

             public function 
init(){
                     
$this->initView();
                     
$this->view->baseUrl $this->_request->getBaseUrl();
             }

             

              public function 
addAction(){

                  
                     
$this->view->title "Agregar artista";
                     
$this->view->headTitle($this->view->title);
                     
$form = new Application_Form_Artista ();
                     
$form->submit->setLabel('Add');
                     
$this->view->form $form;

                     if (
$this->getRequest()->isPost()){
                         
$formData $this->getRequest()->getPost();

                             if (
$form->isValid($formData)){
                                 
// $artista_id = $form->getValue('artista_id');
                                 
$nombre $form->getValue('nombre');
                                 
$fecha_ingreso $form->getValue('fecha');
                                 
$descripcion $form->getValue('descripcion');
                                 
$email $form->getValue('email');

                                 
//cambio formato de fecha para mysql
                                 
$fecha $this->fechaMysql($fecha);
                                 
$artista = new Application_Model_DbTable_Artista ();
                                 
$artista->agregar($nombre$descripcion$email$fecha_ingreso);

                                 
$this->_helper->redirector('index');
                             }
                             else{
                                 
$form->populate($formData);
                             }
                     }
                     
$this->foo 'sd';
             }


             public function 
indexAction(){
                 
                     
$table = new Application_Model_DbTable_Artista();
                     
$this->view->datos $table->listar();
                                          
$this->view->name $this->foo;

             } 
  #2 (permalink)  
Antiguo 21/05/2014, 13:29
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Respuesta: Pasar variable de un metodo a otro

No uso Zend fw pero no lo veo mal.....

Ojo que al recibirlo en la vista es probable sea $name
__________________
Salu2!
  #3 (permalink)  
Antiguo 21/05/2014, 13:31
 
Fecha de Ingreso: noviembre-2011
Ubicación: Paris
Mensajes: 450
Antigüedad: 12 años, 5 meses
Puntos: 7
Respuesta: Pasar variable de un metodo a otro

Si es $this->name, también ami se me hace raro :s
  #4 (permalink)  
Antiguo 21/05/2014, 15:05
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: Pasar variable de un metodo a otro

Creo que necesitas pasar tu variable en el redirector al index action:
Código PHP:
Ver original
  1. $this->_redirector->gotoSimple('index',
  2.     'ArtistaController',
  3.     null,
  4.     array('name' => 'sd')
  5. );

Recuperas el valor en el action y lo pases a la vista
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #5 (permalink)  
Antiguo 21/05/2014, 15:29
 
Fecha de Ingreso: noviembre-2011
Ubicación: Paris
Mensajes: 450
Antigüedad: 12 años, 5 meses
Puntos: 7
Respuesta: Pasar variable de un metodo a otro

Lo solucione de la siguiente forma: primero haciendo referencia al método y después asignando el valor del atributo.
Pero lo raro es que sin el FW no ocupo hacer eso..
Código PHP:
$this->addAction();
$this->view->name $this->foo
  #6 (permalink)  
Antiguo 21/05/2014, 15:37
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: Pasar variable de un metodo a otro

El FW hace las cosas de una forma diferente a como las estes usando sin el. La forma correcta desde el FW es hacerlo con el helper redirector o con el forward mas detalles en : http://framework.zend.com/manual/1.1...ers.redirector
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.

Etiquetas: fecha, metodo, mysql, sql, variable
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 13:27.