【发布时间】:2015-10-13 08:23:56
【问题描述】:
问题? 如何在 Symfony CMS 中为文档生成 getter 和 setter? 为什么命名空间 TaskBundle 或 Acme\TaskBundle 不被命令教义识别:实体生成?
我已经安装了标准版的CMS,并尝试从官方文档中做例子: http://symfony.com/doc/master/cmf/book/database_layer.html
我需要为 Document Task.php 生成 setter 和 getter
为此,我决定使用命令“doctrine:generate:entities”。因此创建了一个新文件夹 Entity 并从 Document 文件夹中复制了 Task.php 文件: C:\Bitnami\wampstack-5.4.38-0\sym_prog\standard-edition\src\Acme\TaskBundle\Entity\Task.php 我希望生成 setter 和 getter,然后将它们复制回 Document\Task.php
命令教义:生成:实体不存在。 因此我更新了 composer.json C:\Bitnami\wampstack-5.4.38-0\sym_prog\standard-edition\composer.json
"require": {
...
"doctrine/orm": "^2.4.8",
"doctrine/doctrine-bundle": "~1.4",
但现在我收到关于命名空间的错误:
c:\Bitnami\wampstack-5.4.38-0\sym_prog\standard-edition>php app/console generate:doctrine:entities TaskBundle:Task
[Doctrine\ORM\ORMException]
Unknown Entity namespace alias 'TaskBundle'.
c:\Bitnami\wampstack-5.4.38-0\sym_prog\standard-edition>php app/console generate:doctrine:entity
The Entity shortcut name: Acme/TaskBundle:Task
Bundle "Acme\TaskBundle" does not exist.
The Entity shortcut name: TaskBundle:Task
Bundle "TaskBundle" does not exist.
C:\Bitnami\wampstack-5.4.38-0\sym_prog\standard-edition\src\Acme\TaskBundle\Entity\Task.php
<?php
/* If you use annotations, you'll need
* to prepend all annotations with @PHPCR\,
* which is the name of the imported namespace
* (e.g. @PHPCR\Document(..)),
* this is not shown in Doctrine's documentation.
* You'll also need to include the
* use Doctrine\ODM\PHPCR\Mapping\Annotations as PHPCR;
* statement to import the PHPCR annotations prefix. */
// src/Acme/TaskBundle/Entity/Task.php
namespace Acme\TaskBundle\Entity;
class Task
{
/**
* @PHPCR\Id()
*/
protected $id;
/**
* @PHPCR\String()
*/
protected $description;
/**
* @PHPCR\Boolean()
*/
protected $done = false;
/**
* @PHPCR\ParentDocument()
*/
protected $parentDocument;
}
Questions?
How to generate getters and setters in Symfony CMS for documents?
Why namespace TaskBundle or Acme\TaskBundle is not recognised by the command doctrine:entities generate?
【问题讨论】: