我正在尝试将doctrine 2与Zend框架混合使用,而我正在使用Zend自动加载器。所以我的所有实体都看起来像
TEST_ORM_Entities_User
下的 TEST/ORM/Entites/User.php
但序列化存在问题,因为所有代理都看起来像
Pocks\ORM\Proxies\TEST_ORM_Entities_UserProxy
下的 TEST/ORM/Proxies/TEST_ORM_Entities_UserProxy.php
所以doctine找不到我的代理类,当我检查我的缓存时发现它已损坏
object(__PHP_Incomplete_Class)#175 (19) {
["__PHP_Incomplete_Class_Name"]=>
string(46) "TEST\ORM\Proxies\TEST_ORM_Entities_UserProxy"
任何想法我们如何明确地放置代理文件名,或解决这个问题?
答案 0 :(得分:1)
我们过去遇到了同样的问题,最后还将我们的应用程序转换为使用名称空间。
我们仍然使用Zend Framework 1.x及其伪命名空间约定,但由于this fix,我们所有的应用程序类都是命名空间。
现在我们的代码如下:
<?php
namespace Application\Form;
use Zend_Form as Form;
class UserForm extends Form
{
// ...
}
我们可以在代码中的任何位置通过Application\Form\UserForm
引用此类,这要归功于自动加载器的修复!