如何在Doctrine中“注释掉”注释条目

时间:2012-11-01 10:24:39

标签: php doctrine-orm

给出包含Doctrine注释的PHPDoc注释的以下属性:

/**
 * @ORM\Column(name="id", type="integer")
 * @ORM\Id
 * @ORM\GeneratedValue(strategy="AUTO")
 */
private $id;

“注释”其中一个注释行的最佳方法是什么?例如像这样的东西:

/**
 * @ORM\Column(name="id", type="integer")
 * @ORM\Id
 * //Comment out please// @ORM\GeneratedValue(strategy="AUTO")
 */
private $id;

是否有支持的方式或执行此操作的一般约定?

4 个答案:

答案 0 :(得分:14)

只需删除@ for Annotation识别。

{{1}}

答案 1 :(得分:3)

我通常会添加@foo注释(此类不会发出任何问题),以便在dockblocks内注释掉。您可以注册忽略的全局注释:

AnnotationReader::addGlobalIgnoredName('foo');

这将应用为:

/**
 * @Column(type="string", nullable=false, name="body")
 * @foo type="string", nullable=false, name="body2" 
 */
protected $body;

您可以在doctrine 2.1 documentation验证它:

  

@Foo注释。它不是文档注释,也不是黑名单。对于Doctrine Annotations,如何处理此注释并不完全清楚。根据配置,解析此批注时将抛出异常(未知批注)

根据下面的引用,该示例不应抛出任何异常,因为先前已注册@foo注释

答案 2 :(得分:1)

只需在@和其他指令之间加一个空格。

/**
 * @ORM\Column(name="id", type="integer")
 * @ORM\Id
 * @ ORM\GeneratedValue(strategy="AUTO")
 */

答案 3 :(得分:1)

只需将@替换为#

/**
 * @ORM\Column(name="id", type="integer")
 * @ORM\Id
 * #ORM\GeneratedValue(strategy="AUTO")
 */