我正在从事一个项目,开发了许多开发人员多年,而且经常发生的情况是,没有编码标准。
在一般情况下,有许多代码块是相似的,但编写方式不同。例如:
return $this->render('LibraryItem:list.html.twig',
[
'library_items' => $libraryItems,
]
);或
return $this->render(
'LibraryItem:list.html.twig',
[
'library_items' => $libraryItems,
]
);或
return $this->render('LibraryItem:list.html.twig', array(
'library_items' => $libraryItems,
)
);现在,我正在升级项目并介绍PSR-12编码风格。在本例中,我使用两个包PHPCodeSniffer和PHP-CS-Fixer。
我想要实现其中的一个包,强制上述代码块采用下一种格式:
return $this->render('LibraryItem:list.html.twig', [
'library_items' => $libraryItems,
]);这是一种简短、简单和可读的格式,在PSR-2元文件中有很好的描述。
使用一个或多个多行参数(即:数组、或匿名函数)并不构成分割参数列表本身,因此第4.6节不会自动执行。数组和匿名函数能够跨越多行。
问题是我找不到合适的规则,允许我用PHPCodeSniffer或PHPCodeSniffer自动修复所有这样的块。
发布于 2021-04-02 22:14:53
PHP有一个固定程序method_argument_space,ensure_single_line选项用于on_multiline。
配置如下所示:
'method_argument_space' => [
'on_multiline' => 'ensure_single_line'
],https://stackoverflow.com/questions/62520278
复制相似问题