PHPDoc 包标签是做什么用的?

What is the PHPDoc package tag used for?

提问人:Schparky 提问时间:10/28/2018 最后编辑:LazyOneSchparky 更新时间:10/28/2018 访问量:1544

问:

我在 PhpStorm 中创建了一个 PHP 类,并允许 IDE 自动生成该类的 DocBlock。它包含一个与文件命名空间完全匹配的包标记,如下所示:

<?php
namespace frontend\controllers;

/**
 * Class MethodController
 * @package frontend\controllers
 */
class MethodController extends BaseRestController 
{
}

我目前不关心生成 PHPDocumentor 输出,但我可能想在某个时候生成,所以我想了解如何使用。令我惊讶的是PHP_CodeSniffer为这个标签提供的消息:@package

[phpcs]包名称“frontend\controllers”无效;请考虑“前端控制器”

我是否需要创建某种目录来满足PHP_CodeSniffer?

另一个令人困惑的转折是 PHPDoc 网站上的这句话:

如果逻辑和功能细分全面相等,则不建议使用 @package 标签,以防止维护开销。

如果我理解正确,那么使包完全等于命名空间没有任何好处。为什么 PhpStorm 提供这个标签?

PHP 命名空间 phpstorm phpdoc

评论

1赞 LazyOne 10/28/2018
“为什么 PhpStorm 提供这个标签?”没有想法(它没有为我添加..但我的 PhpStorm 设置真的很旧(从 v0.6 左右使用它)。检查你的 - 你应该找到一个类 PHPDoc 的模板 - 它可能在那里。P.S. 我个人认为标签根本没有理由。命名空间本身已经做得很好了。Settings / Preferences | Editor | File and Code Templates@package
0赞 Álvaro González 11/1/2018
@LazyOne 我有一个新的设置,模板包括 .#if (${NAMESPACE}) * @package ${NAMESPACE} #end
0赞 Scott Anderson 1/12/2021
@LazyOne 这是一个很好的建议,因为我现在可以在制作新的 PHP 类时自动生成一个没有这个标签的类 docblock,所以谢谢。但是,关于原始问题的主题,是否可以更改用于注释类的 PHPDoc 模板?我知道您可以在“代码样式”下为方法注释做一些选项
0赞 LazyOne 1/12/2021
@ScottAnderson 所有可以自定义的代码模板都将在那里: .代码样式更多的是关于元素/间距等的顺序。Settings/Preferences | Editor | File and Code Templates
0赞 Scott Anderson 1/12/2021
@LazyOne啊找到了!在该设置窗格的“代码”选项卡中,我看到了,谢谢:)

答: 暂无答案