php - 寻找一种在不返回的情况下调用函数时停止进程的方法

标签 php zend-framework coding-style phpmd

我养成了使用 return 来停止代码序列执行的习惯,即使 return 用于不返回任何内容的函数也是如此

$form = $this->getForm('activity');    
$this->view->form = $form;
return $this->render('create'); // Like this

在 Zend Framework 中,它停止执行当前操作并呈现名称为函数 $this->render() 参数的 View 。

我最近跑了 PHPMD在我的代码中,所有这些语句都被标记为 Void function result used

我想知道,这个习惯有多糟糕,什么会更好?

最佳答案

我看到的唯一一点是 $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 documentation forward 的目的是执行当前 Action ,然后再执行第二个 Action 。但在他们的代码示例中,他们还使用了return $this->_forward()。然而,在我的工作中,我学会了将 return 放到一个新行中,以明确没有返回任何内容。

作为替代方案,您当然可以使用 if else block 。然而,在我看来,它们并不总是更清晰(而且我不喜欢这些严格的 Java 规则)。

if ($something) {
    $this->_forward();
} else {
    // do other code
}

关于php - 寻找一种在不返回的情况下调用函数时停止进程的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15636955/

相关文章:

lua - 从 Lua 中的(最简单的)函数直接返回表条目

php - 如何从字符串中删除所有数字?

zend-framework - 是否可以为 zend 模型使用多个命名空间以及如何自动加载它?

php - ZF3 多数据库适配器

zend-framework - 在 Zend 表单中实现 onkeyup() 函数来添加元素

PHPStorm 禁用匿名函数括号前的空格

php - Paypal返回值问题

php - 调用电话时传递动态 TwiML

php - Doctrine 2 : How to select ArrayCollection using DQL

sql-server - SQL Server 代码审查和最佳实践的资源