11

给定以下带有 PHPDoc 注释的属性,其中包含 Doctrine 的注释:

/**
 * @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

4 回答 4

17

只需删除用于注释识别的@。

/**
 * @ORM\Column(name="id", type="integer")
 * @ORM\Id
 * ORM\GeneratedValue(strategy="AUTO")
 */
private $id;
于 2016-04-22T09:28:42.073 回答
4

只需将 替换@#

/**
 * @ORM\Column(name="id", type="integer")
 * @ORM\Id
 * #ORM\GeneratedValue(strategy="AUTO")
 */
于 2018-10-25T12:40:10.813 回答
3

我通常添加@foo注释(此类不会发出任何问题)以便在停靠块内部注释掉。您可以为忽略注册一个全局注释:

AnnotationReader::addGlobalIgnoredName('foo');

这将被应用为:

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

您可以在学说 2.1 文档中对其进行验证:

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

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

于 2012-11-02T15:30:50.013 回答
3

只需在 @ 和指令的其余部分之间放置一个空格。

/**
 * @ORM\Column(name="id", type="integer")
 * @ORM\Id
 * @ ORM\GeneratedValue(strategy="AUTO")
 */
于 2017-11-09T18:17:10.230 回答