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

métodos dentro de otros métodos

Estas en el tema de métodos dentro de otros métodos en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Buenas! Se puede llamar a un método dentro de otro? Por ejemplo: Código PHP: class  ejemplo {           function  metodo1 ()           {                    function  metodo2 ( $param1 ...
  #1 (permalink)  
Antiguo 19/12/2009, 17:33
 
Fecha de Ingreso: marzo-2006
Mensajes: 5
Antigüedad: 18 años, 1 mes
Puntos: 0
métodos dentro de otros métodos

Buenas!

Se puede llamar a un método dentro de otro? Por ejemplo:

Código PHP:
class ejemplo
{
          function 
metodo1()
          {
                   function 
metodo2($param1$param2)
                  {

                  }
          }

La gracia entonces seria que se pudiera llamar así:
Código PHP:
$ejemplo = new ejemplo();
$ejemplo ->metodo1->metodo2($parametro1$parametro2); 
¿Cómo se puede hacer algo así más o menos?
  #2 (permalink)  
Antiguo 19/12/2009, 19:35
 
Fecha de Ingreso: noviembre-2007
Ubicación: Lanus, Buenos Aires
Mensajes: 178
Antigüedad: 16 años, 5 meses
Puntos: 14
Respuesta: métodos dentro de otros métodos

La clave esta en que cada metodo devuelva $this

Código PHP:
class ejemplo 

          public function 
metodo1() 
          { 
                ...
                return 
$this;
          } 

          public function 
metodo2($param1$param2
         { 
                ...
                return 
$this;
         } 

y luego

Código PHP:
$ejemplo = new ejemplo(); 
$ejemplo ->metodo1()->metodo2($parametro1$parametro2); 
Saludos
  #3 (permalink)  
Antiguo 20/12/2009, 10:52
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: métodos dentro de otros métodos

además, al anidar un función dentro de un método es solo eso...

una función, no un método...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
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 22:56.