gpt4 book ai didi

php - 嗅探器代码段允许在新行上使用括号

转载 作者:可可西里 更新时间:2023-11-01 13:21:19 25 4
gpt4 key购买 nike

是否有一个 codesniffer 片段允许/强制将 { } 放在每个函数/方法的换行符上?

基本上,强制这样的事情:

if (TRUE)
{
// Code logic
}
else
{
// Code Logic
}

public function test()
{
// Code logic
}

最佳答案

是的,有现成的。它称为 OpeningFunctionBraceBsdAllmanSniff,您可以在 /path/to/CodeSniffer/Standards/Generic/Sniffs/Functions 下找到它。但这仅适用于函数声明。

对于控制结构,您可以使用 /path/to/Standards/Squiz/Sniffs/ControlStructures/ControlSignatureSniff.php 并调整来自

的模式数组
protected function getPatterns()
{
return array(
'try {EOL...} catch (...) {EOL',
'do {EOL...} while (...);EOL',
'while (...) {EOL',
'for (...) {EOL',
'if (...) {EOL',
'foreach (...) {EOL',
'} else if (...) {EOL',
'} elseif (...) {EOL',
'} else {EOL',
);

}//end getPatterns()

到,即

protected function getPatterns()
{
return array(
'try {EOL...} catch (...) {EOL',
'do {EOL...} while (...);EOL',
'while (...) {EOL',
'for (...) {EOL',
'if (...)EOL{', // that's what you need
'foreach (...) {EOL',
'} else if (...) {EOL',
'} elseif (...) {EOL',
'} elseEOL{', // and this
);

}//end getPatterns()

如果您需要将相同的规则应用于其他控制结构,您可以采用相同的方式,通过更改数组中的模式。

更新:当然,一种更简洁的解决方案是编写您自己的类来扩展上述内容并覆盖 getPatterns() 方法。

关于php - 嗅探器代码段允许在新行上使用括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16118523/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com