Na aula do singleton foi feito acesso ao atributo estático da seguinte maneira:
class Teste{
private static $instance = null;
private $produto;
private $valor;
private function __construct($produto,$valor){
$this->produto = $produto;
$this->valor = $valor;
}
public static function getInstance($produto,$valor){
if(is_null($this->instance)){
$this->instance = new Teste($produto,$valor);
}
return $this->instance;
}
}
Ao executar isso é retornado o erro: Using $this when not in object context
É algo que faz sentido ,pois, ao pesquisar a forma de acessar um atributo estático é pelo palavra reservada SELF
class Teste{
private static $instance = null;
private $produto;
private $valor;
private function __construct($produto,$valor){
$this->produto = $produto;
$this->valor = $valor;
}
public static function getInstance($produto,$valor){
if(is_null(self::$instance)){
self::$instance = new Teste($produto,$valor);
}
return self::$instance;
}
}
O exemplo da aula está correto, e eu esqueci de algum detalhe?