我正在从事一个多年来开发了许多开发人员的项目,并且经常发生没有编码标准。
有许多代码块通常相似但以不同的方式编写。例如:
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 或 PHP-CS-Fixer 自动修复所有此类块。