1

PSR 对命名空间声明后的新行有相当明确的立场:

如果存在,命名空间声明后必须有一个空行。

但是命名空间前的空行呢?是否有任何规则或限制?我相信我在某个地方看到过一些东西,但现在找不到。

4

1 回答 1

1

PSR-12中的第3. 声明语句、命名空间和导入语句部分讨论了脚本开始的各个部分和状态

PHP 文件的标头可能由许多不同的块组成。如果存在,下面的每个块必须由一个 空行分隔,并且不得包含空行。每个块必须按照下面列出的顺序排列,尽管可以省略不相关的块。

(强调我的)。

以下是示例

<?php

/**
 * This file contains an example of coding styles.
 */

declare(strict_types=1);

namespace Vendor\Package;

use Vendor\Package\{ClassA as A, ClassB, ClassC as C};

它显示了间距。

我从中读到的主要内容不是定义之前的空行数,而是更多地定义任何组件之间必须有一个空行。

只是关于PSR-2的评论,确实是状态

已弃用- 截至 2019-08-10 PSR-2 已被标记为已弃用。现在推荐 PSR-12 作为替代品。

于 2020-01-24T07:30:15.630 回答