我养成了使用return停止执行代码序列的习惯,即使返回用于不返回任何内容的函数
$form = $this->getForm('activity');
$this->view->form = $form;
return $this->render('create'); // Like this
在Zend Framework中,它停止执行当前操作并呈现视图名称是函数$this->render()
的参数。
我最近在我的代码上运行了PHPMD,并且所有这些语句都被标记为Void function result used
我在想,这种习惯有多糟糕,哪种更好?
答案 0 :(得分:2)
我看到的唯一一点是$this->render('create')
返回 void ,不应该再次返回。
如果操作不需要任何返回值(Zend Framework 1),那么您应该将return
放在单独的行上,而不返回任何值。
$form = $this->getForm('activity');
$this->view->form = $form;
$this->render('create'); // Like this
return;
这是Zend Framework中的常用语法,至少对于forward
。您还经常会看到它redirect
,但是这个已经在Zend代码中有一个exit语句。根据{{3}},转发的意图是执行当前操作,然后执行第二个操作。但在他们的代码示例中,他们也使用return $this->_forward()
。然而,在我的工作中,我学会了将return
放到一个新行上,以明确没有返回任何内容。
作为替代方案,您当然可以使用if else
块。但是,在我看来,它们并不总是更清晰(我不喜欢这些严格的Java规则)。
if ($something) {
$this->_forward();
} else {
// do other code
}