La implementación de dependencia puede ser de varias formas, aqui te dejo otras dos aparte de la que te pasaron
Código PHP:
Ver originalclass A{
private $db;
public function setDb($db){
$this->db = $db;
}
function getX () {
$db->doSomething();
// código de la función;
}
}
class B{
private $db;
function __construct($db) {
$this->db;
}
function getX () {
$db->doSomething();
// código de la función;
}
}
$db = new db();
$a = new A();
$b = new B($db);
$a->setDb($db);