我发现自己正在互联网上寻找已经回答过的人,但是我找不到任何人。
我正在使用严格的PSR12标准清理一些代码,发现此问题的原因是名称空间的长度超过了配置的80个字符(这是我们的软限制,会产生警告)。
到目前为止,无论名称有多长,我都找到了一种正确的方法来编写可读代码,同时保持在80行之内。但是对于命名空间,我没有。我们的许多名称空间声明如下:
namespace CompanyName\ProjectName\Domain\SubClasification\Clasification\ModuleName;
它们可能会变得很长,尤其是由于同事中的许多人都喜欢很长的类名,因此我想知道是否有办法将名称空间声明放在多行上?
答案 0 :(得分:1)
您可以在分隔符上拆分名称空间,因此这是有效的语法:
namespace CompanyName
\ProjectName
\Domain
\SubClasification
\Clasification
\ModuleName;
或者,您可以告诉PHPCS忽略下一行:
// phpcs:ignore
namespace CompanyName\ProjectName\Domain\SubClasification\Clasification\ModuleName;
您也许还可以创建自定义PHPCS嗅探,以扩展现有的行长嗅探,但不包括名称空间行。
[EDIT] 注意,在PHP 8中似乎无法对名称空间进行多行处理:https://3v4l.org/IWbe1