Ищете способ остановить процесс при вызове функции без возврата
Я разработал привычку использовать возврат, чтобы остановить выполнение кодовой последовательности, даже если возврат используется для функции, которая ничего не возвращает
$form = $this->getForm('activity');
$this->view->form = $form;
return $this->render('create'); // Like this
В Zend Framework он останавливает выполнение текущего действия и отображает представление, имя которого является параметром функции $this->render()
,
Я недавно запустил PHPMD для своего кода, и все эти операторы помечены как Void function result used
Мне было интересно, насколько плоха эта привычка и что будет лучше?
1 ответ
Единственное, что я вижу, это то, что $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. В соответствии с документацией ZF1 намерение форварда состоит в том, чтобы выполнить текущее действие, а затем также выполнить второе действие. Но в своем примере кода они также используют return $this->_forward()
, На моей работе, однако, я научился ставить return
на новую строку, чтобы прояснить, что ничего не возвращается.
В качестве альтернативы вы можете, конечно, использовать if else
блоки. Однако, на мой взгляд, они не всегда понятнее (и я не фанат этих строгих правил Java).
if ($something) {
$this->_forward();
} else {
// do other code
}