ДоХтор, все зависимости, которые использует класс, лучше передавать в него, а не получать внутри него.
Т.е грубо говоря, делать так:
class A {}
class B {
protected $a;
public function __construct(A $a) {
$this->a = $a;
}
}А не так:
class A {}
class B {
protected $a;
public function __construct() {
$this->a = new A();
}
}