我在函数中有这段代码:
if ($route !== null) { // a route was found
$route->dispatch();
} else {
// show 404 page
$this->showErrorPage(404);
}
现在PHPmd出错了:
run方法使用else表达式。否则从来没有必要 您可以简化代码,无需其他工作。
现在我想知道是否真的会更好的代码来避免使用else而只是在if部分添加一个return语句?
答案 0 :(得分:31)
PHPMD希望您使用早期的return语句来避免else阻塞。如下所示。
function foo($access)
{
if ($access) {
return true;
}
return false;
}
您可以通过将以下内容添加到类doc块来禁止显示此警告。
/**
* @SuppressWarnings(PHPMD.ElseExpression)
*/
答案 1 :(得分:0)
通常,您可以重写表达式以仅使用if,并且它在主观上确实使代码更具可读性。
例如,如果showErrorPage中断了代码的执行,则该代码的行为将相同。
rameez=np.arange(10*3*2).reshape(10,3,2)
如果if语句的内容没有中断执行,则可以添加一个返回值
if ($route == null) {
$this->showErrorPage(404);
}
$route->dispatch();
如果您在循环中的哪个位置,则可以使用Continue跳过该迭代
if ($route == null) {
$this->showErrorPage(404);
return;
}
$route->dispatch();
答案 2 :(得分:0)
通过结束404产生分支来删除else块:
if ($route === null) {
// show 404 page
$this->showErrorPage(404);
return;
}
// a route was found
$route->dispatch();