根据 PSR-2 编码标准,我应该使用多少个空格来表示意图?

How many spaces should I use for intendation according to the PSR-2 coding standard?

我无法找出根据 PSR-2 标准我们必须使用多少个空间来表示意图。我可以使用多少个?

我总是使用 4 个空格

public function test()
{
    //4 spaces

但我也看到了使用超过 24 个空格的代码。编码标准是什么?我将 24 个空格的代码更改为 4 个空格,然后我的同事问我为什么要更改它。

PSR-4 是一个自动加载标准。它与缩进或空格无关。

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

你想到的是 PSR-2,编码风格指南。

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

Code MUST use 4 spaces for indenting, not tabs.

有许多不同的编码标准,因此您首先需要检查的是您使用的代码应遵循哪个标准。

如果有问题的代码如下 PSR-2 (not PSR-4, which is an unrelated standard), then section 2.4 明确指出:

Code MUST use an indent of 4 spaces, and MUST NOT use tabs for indenting.

请注意,这并不意味着 "every line of code in a file should be indented by exactly 4 spaces",而是 "each time you open a new structure which requires indenting, increase the indent by exactly 4 spaces"。

所以24个空格对于6层缩进是完全有效的;例如class.

中的函数中的循环中的 if 中的数组定义

重申一下,这假设 PSR-2 实际上是该代码的商定标准;如果编码标准指定每次缩进 8 个空格,则 24 个空格也适用于 3 级缩进。甚至可能有一些奇特的编码标准使用缩进来表示嵌套级别以外的其他含义,因此 24 个空格会产生一些对您来说不明显的对齐方式。