0

doctrine2 エンティティを拡張しました:

namespace Hql\BaseBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

class Action extends _Entity
{
}

そして、同じフォルダーにファイル _Entity.php を作成しました。

namespace Hql\BaseBundle\Entity;

class _Entity 
{
}

クラス _Entity は同じフォルダーと同じ名前空間にあるため、自動的に検出されることを理解していました。

Symfony2 の構成ファイルは変更されませんでした。

コマンドを実行するとphp app/console doctrine:mapping:info、Symfony2 は次のエラーを返します。

PHP Fatal error:  Class 'Hql\BaseBundle\Entity\_Entity' not found in [...]\Symfony\src\Hql\BaseBundle\Entity\Action.php on line 13

これを修正する方法がわかりません。エンティティ ファイルはコマンドによって自動的に読み込まれるためinclude、_Entity ファイルの場所がわかりません。

4

1 に答える 1

3

PSR-0では、アンダースコアはディレクトリ セパレータを意味するため、オートロード関数では symfony はアンダースコアをディレクトリ セパレータに置き換えています。

したがって、名前を変更_EntityするだけEntityで問題が解決します

于 2013-07-04T16:21:29.933 に答える