0

我发现自己在互联网上寻找已经回答的人,但我找不到任何人。

我正在使用严格的 PSR12 标准清理一些代码,我发现这个问题是命名空间变得比配置的 80 个字符长(这是我们的软限制,它产生了一个警告)。

到目前为止,我找到了一种编写可读代码的正确方法,同时保持在 80 行之内,无论名称有多长。但是对于我没有的命名空间。我们的许多命名空间声明如下所示:

namespace CompanyName\ProjectName\Domain\SubClasification\Clasification\ModuleName;

它们可能会变得很长,特别是因为我的许多同事喜欢很长的类名,所以我想知道是否有办法将命名空间声明放在多行上?

4

1 回答 1

1

您可以在分隔符上拆分命名空间,因此这是有效的语法:

namespace CompanyName
    \ProjectName
    \Domain
    \SubClasification
    \Clasification
    \ModuleName;

或者,您可以告诉 PHPCS 忽略下一行:

// phpcs:ignore
namespace CompanyName\ProjectName\Domain\SubClasification\Clasification\ModuleName;

您也可以创建一个自定义 PHPCS 嗅探,扩展现有的行长度嗅探,但不包括命名空间行。

[编辑]注意,在 PHP 8 中多行命名空间的功能可能会消失:https ://3v4l.org/IWbe1

于 2020-08-31T17:59:22.367 回答