我有一个[Doctrine'ORM'ORMException] Unknown Entity namespace alias 'src'AppBundle'Entity'
错误信息。
快速搜索将我带到了三个相关的SO问题:
这里关于用户创建的捆绑包中存在问题,我在这里没有使用。
这里在哪里错误消息是由 PHP 代码获取的,而不是像我目前所做的那样在命令行中使用原则,并且
那里的答案建议做sudo php app/console cache:clear --env=dev
;我这样做了,然后是sudo chmod a+w app/cache/dev/annotations
,但问题保持不变。
这是我所做的:
1) 使用php app/console doctrine:database:create
成功创建我的数据库
2) 在app/Entity/Product.php
中手动创建产品实体,内容如下(以下代码为从Symfony Book复制粘贴):
<?php
namespace AppBundle'Entity;
use Doctrine'ORM'Mapping as ORM;
/**
* @ORM'Entity
* @ORM'Table(name="product")
*/
class Product
{
/**
* @ORM'Column(type="integer")
* @ORM'Id
* @ORM'GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @ORM'Column(type="string", length=100)
*/
protected $name;
/**
* @ORM'Column(type="decimal", scale=2)
*/
protected $price;
/**
* @ORM'Column(type="text")
*/
protected $description;
}
3) 键入 php app/console doctrine:generate:entities src/AppBundle/Entity:Product
- 生成"未知实体命名空间"错误消息。
任何帮助表示赞赏。
有两种
语法将用于Symfony2
应用。
-
'My'Company'Namespace'Entity'Product
-
MyCompanyNamespace:Product
我相信在您的代码/配置中的任何位置放置src
都会违反PSR-0
。 Symfony2
很好地看到所有东西都被认为是一捆。这就是为什么您必须在应用程序中至少有一个 - 它捆绑的所有内容