Zend_auth - Doctrine 2.2 - 自动加载pbl

时间:2012-02-02 14:53:56

标签: zend-framework doctrine-orm zend-auth zend-session

我用Bisna lib将lib Doctrine 2.0更新为2.2。它运行得很好,但是当Zend_Session::start()被调用(进入Boostrap.php)时,我遇到了Zend_Session / zend_auth的问题。由于会话中存储了用户代理,我发生了致命错误。

> Zend_Session_Exception Object
(
    [_previous:Zend_Exception:private] => 
    [message:protected] => Zend_Session::start() - /home/site/dev.full-estudio.com/library/Zend/Loader.php(Line:146): Error #2 include_once(): Failed opening 'Studio/Domain/Proxy/__CG__/Studio/Domain/Entity/ESecurityStudioUser.php' for inclusion

班级名称

Studio\Domain\Proxy\__CG__\Studio\Domain\Entity\ESecurityStudioUser

这门课的真正路径是

Studio\Domain\Proxy\__CG__StudioDomainEntityESecurityStudioUser

配置主义代理:

resources.doctrine.orm.entityManagers.default.proxy.autoGenerateClasses = true
resources.doctrine.orm.entityManagers.default.proxy.namespace           = "Studio\Domain\Proxy"
resources.doctrine.orm.entityManagers.default.proxy.dir                 = APPLICATION_PATH "/../library/Studio/Domain/Proxy"

2 个答案:

答案 0 :(得分:3)

安德鲁的答案指向了正确的方向。

Doctrine 2.2.0似乎不喜欢单个级别的代理命名空间(至少在ZF1.x引导过程的上下文中 - 我在与bastien相同的上下文中遇到它)。

所以

resources.doctrine.orm.entityManagers.default.proxy.namespace = "Fancy\Ns\Proxy"

打破代理的自动加载,而

resources.doctrine.orm.entityManagers.default.proxy.namespace = "Proxy"

工作得很好。 (事实上​​,你可以注释掉配置行,而Bisna将使用“Proxy”作为默认值。)

答案 1 :(得分:1)

我有完全相同的问题...见这里: -

http://groups.google.com/group/doctrine-user/browse_thread/thread/334c3136ccf21630

似乎bisna lib并不完全支持学说2.2 :(