根据 PSR,是否有必要在 OOP PHP 中的 $this 关键字之后放置 space?
Is it necessary to put space after $this keyword in OOP PHP according to PSRs?
我完整地研究了 PSR-2 and PSR-12 文档,但没有找到关于是否在 $this 关键字之后放置任何 space 的任何解释。
我的确切问题是根据 PSR,以下哪种样式更正确:
return $this->name;
或
return $this -> name;
比较的示例代码如下:
class Car
{
public $name;
public function getName()
{
return $this->name; // I've always seen this style (no spaces)
}
}
比较:
class Car
{
public $name;
public function getName()
{
return $this -> name; // Includes spaces
}
}
两者都正确吗?如果是这样,是否有理由使用一个而不是另一个?
在提到的标准中没有明确的规则,也没有特别使用 $this
的示例,但是有很多其他使用 ->
运算符的示例,并且它们始终显示它周围没有空格。
例如,在“方法和函数调用”(PSR-2 §4.6 / PSR-12 §4.7) 下:
$foo->bar($arg1);
和
$foo->bar(
$longArgument,
$longerArgument,
$muchLongerArgument
);
这并不意味着标准 需要 这种风格,但这是大多数 PHP 开发人员自然期望的一小部分证据。
标准允许。
任何 PSR 标准都不禁止在对象运算符 (->
) 周围使用“空格”。而且是合法的。
这里的空格并没有受到监管,因为有时在编写流畅的接口时,用空格分隔链式调用是有意义的。例如:
$foo->bar()
->baz()
->fizz()
->fizzBuzz();
禁止这样做没有什么特别的意义。
虽然可以添加额外的语言来解释这种情况和其他情况,但事实并非如此。也许委员会没有考虑,也许它被认为是 PHP 社区的普遍做法不需要额外的标准。他们为什么不添加这种特定语言并不是特别重要。
但是,您使用空格的示例如下:
$foo -> bar();
只是阅读困难,没有任何优势。虽然不违法,也不违反 PSR 的编码风格,但这只是个坏主意。
我完整地研究了 PSR-2 and PSR-12 文档,但没有找到关于是否在 $this 关键字之后放置任何 space 的任何解释。
我的确切问题是根据 PSR,以下哪种样式更正确:
return $this->name;
或
return $this -> name;
比较的示例代码如下:
class Car
{
public $name;
public function getName()
{
return $this->name; // I've always seen this style (no spaces)
}
}
比较:
class Car
{
public $name;
public function getName()
{
return $this -> name; // Includes spaces
}
}
两者都正确吗?如果是这样,是否有理由使用一个而不是另一个?
在提到的标准中没有明确的规则,也没有特别使用 $this
的示例,但是有很多其他使用 ->
运算符的示例,并且它们始终显示它周围没有空格。
例如,在“方法和函数调用”(PSR-2 §4.6 / PSR-12 §4.7) 下:
$foo->bar($arg1);
和
$foo->bar(
$longArgument,
$longerArgument,
$muchLongerArgument
);
这并不意味着标准 需要 这种风格,但这是大多数 PHP 开发人员自然期望的一小部分证据。
标准允许。
任何 PSR 标准都不禁止在对象运算符 (->
) 周围使用“空格”。而且是合法的。
这里的空格并没有受到监管,因为有时在编写流畅的接口时,用空格分隔链式调用是有意义的。例如:
$foo->bar()
->baz()
->fizz()
->fizzBuzz();
禁止这样做没有什么特别的意义。
虽然可以添加额外的语言来解释这种情况和其他情况,但事实并非如此。也许委员会没有考虑,也许它被认为是 PHP 社区的普遍做法不需要额外的标准。他们为什么不添加这种特定语言并不是特别重要。
但是,您使用空格的示例如下:
$foo -> bar();
只是阅读困难,没有任何优势。虽然不违法,也不违反 PSR 的编码风格,但这只是个坏主意。