Classe Usuários que pega dados de um determinado lugar (WebSercice, Banco de Dados, etc).
<?php
class Connection {
// ...
}
interface DataUsers {
public function getUsers();
}
class MySQLUsers implements DataUsers {
private $db;
public function __construct(Connection $conn){
$this->db = $conn;
}
public function getUsers(){
// usar $this->db->prepare(...);
}
}
class Users {
private $users;
public function __construct(DataUsers $users){
$this->users = $users;
}
public function listarUsuarios(){
return $this->users->getUsers();
}
}
// Exemplo de uso
$dataManager = new MySQLUsers( new Connection() );
$users = new Users( $dataManager );
echo $users->listarUsuarios();