微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PSR-12是否对命名空间导入和别名应如何分组和排序的方式有任何说法?

如何解决PSR-12是否对命名空间导入和别名应如何分组和排序的方式有任何说法?

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

我曾unable to find就如何定义名称空间导入和别名的方式提出任何细节或建议:

  • 用花括号分组或以单独的方式定义每个括号(目前,这是我的偏见)
  • A-Z排序

例如:

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

vs:

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

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

解决方法

关于命名空间,有几条规则,但没有一条明确要求该顺序。但是,这是在声明深度时说明的:

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

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

并且不允许以下内容:

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

对于一般规则,如果未明确说明,则没有标准。都可以。

您可以在此处详细了解现有规则:

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。