私はこの記事を読んでいた。Symfony2の - 教義:スキーマ:アップデートバンドルの外実体で失敗(デカップリング)
http://danielribeiro.org/yes-you-can-have-low-coupling-in-a-symfony-standard-edition-application/
著者はそれがプロジェクトのためにartitctureのこの種を持つことが可能だと述べました:
src/
└── Vendor/
└── Product/
└── Bundle
└── BlogBundle/
└── ForumBundle/
└── SiteBundle/
└── Controller/
└── IndexController.php
└── Resources/
└── views/
└── index.html.twig
└── ProductSiteBundle.php
└── Entity
└── User.php
└── Repository
└── UserRepository.php
└── Service
└── UserPasswordRetrievalService.php
ので、私は記事に続き、このようなもので終わる:
src/
└── Product/
└── Bundle
└── SiteBundle/
└── Controller/
└── IndexController.php
└── Resources/
└── views/
└── index.html.twig
└── ProductSiteBundle.php
└── Entity
└── User.php
に今、symfonyは私のUser.phpを見ることができない私は、この作品にするために余分なコードを追加する必要がある場合、著者は言及しなかった、そして今、私はこのエラーを取得しています:
MappingException: The class 'Product\Entity\User' was not found in the chain configured namespaces OtherNameSpaces
UPDATE
私は既存のコードを削除しました。そして、このようなものでした:
src/
└── Product/
└── Bundle
└── SiteBundle/
└── Controller/
└── IndexController.php
└── Resources/
└── views/
└── index.html.twig
└── ProductSiteBundle.php
└── Entity
└── User.php
User.php
namespace Product\Entity;
/**
* @ORM\Entity
* @ORM\Table(name="users")
*/
class User
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
public function __construct()
{
parent::__construct();
}
}
をしてから
php app/console doctrine:schema:update --force //No Metadata Classes to process.
symfonyは全くそのフォルダを認識していないようです。私がsymfonyにそのフォルダを見るように頼むことができる場所はありますか?
User.phpであなたの名前空間は何ですか? – Tib
'名前空間Product \ Entity' @Tib – trrrrrrm
@nifrの回答はその上にあります。あなたが最初にこの習慣について聞いた私の記事では、あなたが内部的にどのようにそれをやっているのか(意図的に)説明していません。 –