-1

我正在使用 和 工具进行代码phpmd质量自动化phpcsphpcpd代码嗅探器已设置为--standard=PSR12.

关于命名空间导入和别名的定义方式,我找不到任何详细信息或建议:

  • 用大括号分组或以单独的方式定义每个(目前这是我有偏见的建议)
  • AZ排序

例如:

use Foo\Bar\{ Lorem, Ipsum, Dolor };

与:

use Foo\Bar\Dolor;
use Foo\Bar\Ipsum;
use Foo\Bar\Lorem;

如果没有标准建议,我将在团队内部建立内部规则,但如果有,我很乐意遵守。

4

1 回答 1

2

关于命名空间有一些规则,但没有一个明确要求这个顺序。但是,在声明它们时,这是关于深度的:

不得使用深度超过 2 的复合命名空间。因此,以下是允许的最大复合深度:

use Vendor\Package\SomeNamespace\{
    SubnamespaceOne\ClassA,
    SubnamespaceOne\ClassB,
    SubnamespaceTwo\ClassY,
    ClassZ,
};

并且不允许以下行为:

use Vendor\Package\SomeNamespace\{
    SubnamespaceOne\AnotherNamespace\ClassA,
    SubnamespaceOne\ClassB,
    ClassZ,
};

对于一般规则,如果没有明确说明,则没有标准。要么工作。

您可以在此处阅读有关现有规则的更多信息:

https://www.php-fig.org/psr/psr-12/

于 2020-09-18T11:27:05.220 回答