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 originalclass Test
{
private $_foo;
public function __construct() {}
public function viewFoo1()
{
echo $this->getFoo();
}
public function viewFoo2()
{
echo self::getFoo();
}
public function setFoo($foo)
{
$this->_foo = $foo;
}
public function getFoo()
{
return $this->_foo;
}
}
$fooObj = new Test();
$fooObj->setFoo('bar');
$fooObj->viewFoo1();
$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.