Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/02/2010, 09:58
Avatar de JALF
JALF
 
Fecha de Ingreso: septiembre-2004
Ubicación: Cali - Colombia
Mensajes: 634
Antigüedad: 20 años, 3 meses
Puntos: 2
Como saber cuando una función la han llamado de su propia clase o de afuera

Hola amigos, traigo una pequeña duda, es posible saber cuando una función es llamada por otra función de su misma clase? y cuando es llamada externamente?

Voy a dar un ejemplo sencillo con código para hacerme entender

Código PHP:
class saludo {
  public function 
hola1($mensaje=NULL) {
    echo 
"hola que tal";
    echo 
$mensaje;
  }
  public function 
hola2() {
    
//llamada por fuera
    
return "hola como estas";
    
//llamada en otra función de la misma clase
    
return "hola carebola";
  }
}

// AQUI LLAMAMOS UNA FUNCION DESDE AFUERA NORMALITO
$saludar = new saludo();
$saludar->hola1();
echo 
$saludar->hola2();
//RESULTADO
// hola que tal
// hola como estas

// AQUI LLAMAMOS UNA FUNCION DE LA CLASE DENTRO DE OTRA FUNCION DE LA MISMA CLASE
$saludar = new saludo();
$saludar->hola1($saludar->hola2());
//RESULTADO
// hola que tal
// hola carebola 
Y es en el segundo ejemplo donde me gustaría saber en la función hola1() que se ha llamado una función de la misma clase pero dentro de la función hola1()

Esto es con el fin de que si utilizo una función por fuera (como siempre se utiliza) entonces me imprima un resultado, pero si la función es llamada en otra función de la misma clase entonces que haga otro proceso.

Creo que esa detección en el caso de este ejemplo se hace en hola2() pero..... no sé como hacerlo y no sé si sea posible hacer eso.

Salu2 y espero que me puedan dar una manito.
__________________
Ubuntu User # 15554
http://dubaiphp.wordpress.com/ -Mi vida de desarrollo, juegos y algo más en un Blog-