Função __get() não funciona corretamente
Fiz uma classe no PHP Codeigniter mas ela só não está funcionando com a variável 'idUsuario'. Alguma explicação? Existem algumas palavras que são restritas no CodeIgniter? Resolvi alterando a variável para public e chamando ela diretamente. exemplo: echo $pessoa->idUsuario.
Outro dia tive um problema parecido com a palavra 'data'. Resolvi alterando o nome mas está muito esquisito esses erros. Será que alguém tem alguma explicação?
Abaixo a classe:
class Usuario extends CI_Model {
public $idUsuario;
private $usuario;
private $email;
private $senha;
private $nivel;
public function __construct ($idUsuario=NULL, $usuario=NULL, $email=NULL, $senha=NULL, $nivel=NULL) {
parent::__construct();
$this->idUsuario = $idUsuario;
$this->usuario = $usuario;
$this->email = $email;
$this->senha = $senha;
$this->nivel = $nivel;
}
public function __get($nome) {
switch (strtolower($nome)){
case 'idUsuario': echo "foi";
return $this->idUsuario;
case 'usuario':
return $this->usuario;
case 'email':
return $this->email;
case 'senha':
return $this->senha;
case 'nivel':
return $this->nivel;
}
}
public function __set($nome, $valor) {
switch (strtolower($nome)){
case 'idUsuario':
$this->idUsuario = $valor;
case 'usuario':
$this->usuario = $valor;
case 'email':
$this->email = $valor;
case 'senha':
$this->senha = $valor;
case 'nivel':
$this->nivel = $valor;
}
}
}Discussão (0)
Carregando comentários...