2

doctrine 2 と Zend フレームワークを混在させようとしており、Zend オートローダーを使用しています。だから私のすべてのエンティティは次のように見えます

TEST_ORM_Entities_UserTEST/ORM/Entites/User.php

ただし、すべてのプロキシは次のように見えるため、シリアル化に問題があります

Pocks\ORM\Proxies\TEST_ORM_Entities_UserProxyTEST/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"

プロキシ ファイル名を明示的に指定する方法、またはこの問題を解決する方法はありますか?

4

1 に答える 1

1

過去に同じ問題に遭遇し、アプリケーションも名前空間を使用するように変換することになりました。

Zend Framework 1.x とその疑似名前空間規則を引き続き使用しますが、この修正のおかげで、すべてのアプリケーション クラスに名前空間が付けられます。

コードは次のようになります。

<?php

namespace Application\Form;
use Zend_Form as Form;

class UserForm extends Form
{
    // ...
}

Application\Form\UserFormそして、オートローダーの修正のおかげで、コードのどこからでもこのクラスを参照できます!

于 2011-11-30T15:41:08.253 に答える