【问题标题】:Zend_auth - Doctrine 2.2 - autoloading pblZend_auth - Doctrine 2.2 - 自动加载 pbl
【发布时间】:2012-02-02 14:53:55
【问题描述】:

我已经使用 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"

【问题讨论】:

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


    【解决方案1】:

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

    Doctrine 2.2.0 似乎不喜欢多层次的代理命名空间(至少在 ZF1.x 引导进程的上下文中——我在与巴斯蒂安完全相同的上下文中遇到它)。

    所以

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

    中断代理的自动加载,而

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

    工作得很好。 (其实可以注释掉配置行,Bisna会默认使用“Proxy”)。

    【讨论】:

      【解决方案2】:

      我也有同样的问题……请看这里:-

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

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

      【讨论】:

      • 是的,当我尝试获取关联域时,Bisna 没问题,这是代理返回,没有 pbl 来放置/获取数据。 pbl 链接到 Session 使用的约定 Class Zf1 ... :(
      猜你喜欢
      • 2012-07-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多