Ver Mensaje Individual
  #5 (permalink)  
Antiguo 03/10/2010, 22:48
Avatar de GatorV
GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Cómo puedo llamar a un método dentro de la misma clase?

Es mucho mejor usar $this-> si estas llamando a la propía instancia, ya que si lo haces con self:: o el nombre de la clase no va a funcionar, mira el siguiente ejemplo:
Código PHP:
Ver original
  1. class Test
  2. {
  3.         private $_foo;
  4.  
  5.         public function __construct() {}
  6.  
  7.         public function viewFoo1()
  8.         {
  9.                    echo $this->getFoo();
  10.         }
  11.  
  12.         public function viewFoo2()
  13.         {
  14.                    echo self::getFoo();
  15.         }
  16.  
  17.         public function setFoo($foo)
  18.         {
  19.                     $this->_foo = $foo;
  20.         }
  21.  
  22.         public function getFoo()
  23.         {
  24.                    return $this->_foo;
  25.         }
  26. }
  27.  
  28. $fooObj = new Test();
  29. $fooObj->setFoo('bar');
  30. $fooObj->viewFoo1();
  31. $fooObj->viewFoo2();

Ejecuta el ejemplo y ve el resultado y te podrás dar cuenta el porque es necesario usar $this para llamar a métodos de la misma instancia.

Saludos.