我们在ZF 2 Doctrine 2安装中使用Gedmo插件时遇到问题
我们从生成实体中得到这个错误:
[Semantical Error] The annotation "@Gedmo'Mapping'Annotation'Timestampable" in property Wallet'Entity'Entity::$created does not exist, or could not be auto-loaded.
我们的实体看起来是这样的:
...
use Gedmo'Mapping'Annotation as Gedmo;
...
/**
* @var datetime $created
*
* @Gedmo'Timestampable(on="create")
* @ORM'Column(type="datetime")
*/
public $created;
...
我们也尝试过:
/**
* @var datetime $created
*
* @'Gedmo'Mapping'Annotation'Timestampable(on="create")
* @ORM'Column(type="datetime")
*/
public $created;
和
/**
* @var datetime $created
*
* @Gedmo'Mapping'Annotation'Timestampable(on="create")
* @ORM'Column(type="datetime")
*/
public $created;
我们已经验证了路径是正确的,并且php类存在于该路径中。
我们的模块配置如下:
'doctrine' => array(
'eventmanager' => array(
'orm_default' => array(
'subscribers' => array(
'Gedmo'Tree'TreeListener',
'Gedmo'Timestampable'TimestampableListener',
'Gedmo'Sluggable'SluggableListener',
'Gedmo'Loggable'LoggableListener',
'Gedmo'Sortable'SortableListener',
),
),
),
我们的composer配置如下:
...
"require": {
...
"gedmo/doctrine-extensions": "2.4.*",
…
我们也尝试过:
...
"require": {
...
"gedmo/doctrine-extensions": "2.3.*",
…
到目前为止,我发现的关于这个问题的文章都没有帮助。
如有任何建议,我们将不胜感激。
一切顺利。
是否
我们的开发人员在周末修复了它,当时我们意识到我们在console.php中的侦听器中缺少加载。
他这样添加它们:$evm=new''Doctrine''Common''EventManager()$evm->addEventSubscriber(new''Gedmo''Timestampable''TimestapableListener());
他在这里找到了他的样本代码:
https://gist.github.com/l3pp4rd/964075