Один базовый класс для всех объектов?
Не могу определиться со следующей конструкцией, является ли она хорошей или не очень, в чем могут быть подвохи?
На пальцах, идея проста, есть базовый класс, который является родителем (Base), для всех объектов, через статические свойства, можно получить доступ к созданным общим объектам. Не помню, где-то в какой-то книжке читал, что данная конструкция не очень подходит для php.
Прокомментируйте пожалуйста.
Не могу определиться со следующей конструкцией, является ли она хорошей или не очень, в чем могут быть подвохи?
PHP:
class Base
{
static protected $_dbObject;
static protected $_policyObject;
//... и т.д.
// объекты, для простоты, инициализируются в конструкторе
}
class A extends Base
{
public function fooA1()
{
$this->dbObject->execute(...);
}
public function fooA2()
{
return $this->policyObject->IsAllow(...);
}
}
class B extends Base
{
public function fooB()
{
$this->dbObject->execute(...);
}
}
Прокомментируйте пожалуйста.