Моя цель - использовать DI в объектах-предках с помощью сеттеров, поэтому у меня есть общий DI для объектов-предков. например класс абстрактной модели, от которого унаследованы мои другие модели, с предварительно настроенным менеджером сущностей и т. д.
До сих пор, после настройки предка и успешного его создания с помощью DI, изменения его на абстрактный класс, а затем создания экземпляра предка этого класса, DI для абстрактного (установленного на абстрактный или нет) не запускается.
namespace Stuki;</p>
<pre><code>use Doctrine\ORM\EntityManager;
# abstract
class Model {
protected $em;
public function setEm(EntityManager $em) {
$this->em = $em;
}
}
DI для этого класса
'di' => array(</p>
<pre><code> 'instance' => array(
'Stuki\Model' => array(
'parameters' => array(
'em' => 'doctrine_em'
)
),
Вышеупомянутый класс и DI будут работать. Но я хочу, чтобы он запускался на объектах-предках, поэтому
namespace Stuki\Model;</p>
<pre><code>use Stuki\Model as StukiModel;
class Authentication extends StukiModel {
public function getIdentity() {
return 'ħ'; #die('get identity');
}
}
$auth = $e->getTarget()->getLocator()->get('Stuki\Model\Authentication');
Последняя строка, $ auth =, не запускает DI.
Как настроить DI для объектов-предков, не используя интроспекцию?