Métodos em cadeia no PHP
Desde o lançamento da versão 5 do PHP com melhorias na orientação a objetos é possível encadear métodos de uma classe. Para funcionar, essa dica necessita que seu método retorne um objeto. No exemplo abaixo, através do encadeamento de métodos o sistema valida o login de um usuário.
class usuarios {
var $email;
var $senha;
var $erro;
function __construct( $email, $senha ) {
$this->email = $email;
$this->senha = $senha;
$this->erro = NULL;
}
function criticaDados() {
if( !$this->email ) $this->erro ='E-mail inválido';
elseif( !isset( $this->senha[6] ) ) $this->erro = 'Senha inválida';
return $this;
}
function login() {
if( is_null( $this->erro ) ) {
return true;
} else {
return $this->erro;
}
}
}
$oUsuario->criticaDados()->login();