如何规避PSR-2?
How to circumvent PSR-2?
当 Laravel 5.1 临近时,将强制执行 PSR-2。
我是 PHP-FIG 的忠实粉丝,不幸的是,对我来说,我真的习惯了新行中的控制结构。
考虑当前这段代码,已经遵守 PSR-2:
foreach($items as $item) {
Cart::update($item, Input::get('qty_' .$item));
}
我了解以下内容不是 PSR-2:
foreach($items as $item)
{
Cart::update($item, Input::get('qty_' .$item));
}
但是,这些变体怎么样?
foreach($items as $item) Cart::update($item, Input::get('qty_' .$item));
foreach($items as $item)
Cart::update($item, Input::get('qty_' .$item));
foreach($items as $item):
Cart::update($item, Input::get('qty_' .$item));
endforeach;
如您所见,我沉迷于白色 space,这是因为在换行时前导花括号造成的。
提到的任何变体都可以适当地视为 PSR-2 吗?
不,这些变体中的 none 也符合 PSR-2。控制结构需要有大括号,并且控制结构名称后面应该有一个 space。这些规则在此处明确定义:
- There MUST be one space after the control structure keyword
- There MUST NOT be a space after the opening parenthesis
- There MUST NOT be a space before the closing parenthesis
- There MUST be one space between the closing parenthesis and the opening brace
- The structure body MUST be indented once
- The closing brace MUST be on the next line after the body
当 Laravel 5.1 临近时,将强制执行 PSR-2。
我是 PHP-FIG 的忠实粉丝,不幸的是,对我来说,我真的习惯了新行中的控制结构。
考虑当前这段代码,已经遵守 PSR-2:
foreach($items as $item) {
Cart::update($item, Input::get('qty_' .$item));
}
我了解以下内容不是 PSR-2:
foreach($items as $item)
{
Cart::update($item, Input::get('qty_' .$item));
}
但是,这些变体怎么样?
foreach($items as $item) Cart::update($item, Input::get('qty_' .$item));
foreach($items as $item)
Cart::update($item, Input::get('qty_' .$item));
foreach($items as $item):
Cart::update($item, Input::get('qty_' .$item));
endforeach;
如您所见,我沉迷于白色 space,这是因为在换行时前导花括号造成的。
提到的任何变体都可以适当地视为 PSR-2 吗?
不,这些变体中的 none 也符合 PSR-2。控制结构需要有大括号,并且控制结构名称后面应该有一个 space。这些规则在此处明确定义:
- There MUST be one space after the control structure keyword
- There MUST NOT be a space after the opening parenthesis
- There MUST NOT be a space before the closing parenthesis
- There MUST be one space between the closing parenthesis and the opening brace
- The structure body MUST be indented once
- The closing brace MUST be on the next line after the body