我的目标是在使用setter的祖先对象中使用DI,所以我有一个共同的DI用于祖先对象。例如我的其他模型继承的抽象模型类,预配置了实体管理器等。ZF2依赖注入吸热体对象
到目前为止,在配置祖先并使用DI成功创建祖先之后,将其更改为抽象类,然后实例化该类的祖先摘要的DI(无论是否设置为抽象)不会运行。
namespace Stuki;
use Doctrine\ORM\EntityManager;
# abstract
class Model {
protected $em;
public function setEm(EntityManager $em) {
$this->em = $em;
}
}
的DI此类
'di' => array(
'instance' => array(
'Stuki\Model' => array(
'parameters' => array(
'em' => 'doctrine_em'
)
),
上面的类和DI会工作。但我想,要对祖先运行对象,因此
namespace Stuki\Model;
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?
从一个学说实体的角度来看,实体不应该是entitymanager意识到的。我想你是用SpiffyDoctrineORM来支持zf2原则吗? – Fge 2012-01-06 22:56:06