我在 PhpStorm 中创建了一个 PHP 类,并允许 IDE 为该类自动生成 DocBlock。它包含一个与文件命名空间完全匹配的包标记,如下所示:
<?php
namespace frontend\controllers;
/**
* Class MethodController
* @package frontend\controllers
*/
class MethodController extends BaseRestController
{
}
Run Code Online (Sandbox Code Playgroud)
我目前不关心生成 PHPDocumentor 输出,但我可能想在某个时候,所以我想了解如何@package
使用。令我惊讶的是 PHP_CodeSniffer 为这个标签提供的消息:
[phpcs] 包名“frontend\controllers”无效;考虑“前端控制器”
我需要创建某种目录来满足 PHP_CodeSniffer 吗?
另一个令人困惑的转折是来自PHPDoc 网站的引用:
如果,一刀切,逻辑和功能细分相同,则不建议使用@package 标记,以防止维护开销。
如果我理解正确,那么使包与命名空间完全相同没有任何好处。为什么 PhpStorm 提供这个标签?