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();