当使用代码点火器时,我创建了很多函数,看起来像这样;
function info($id){
$r = $this->db->select('id', 'name', 'age')->from('users')->where('id', $id)->get();
return ($r->num_rows() == 0 ? false : $r->result());
}
现在,当我使用这个函数时,我也使用这个函数来检查用户是否存在,并将其分配给一个变量
所以它会被写成
if( ($user = $this->user->info($_GET['id'])) === false )
die('User not found');
//now we can continue and $user contains the user info
我的问题是,有什么理由这是一个坏主意吗?
就我所知,这和
是一样的$user = $this->user->info($_GET['id']);
if( $user === false )
die('User not found');
但是在我看来更容易理解
正如您所说,这两种方法是相同的。唯一的区别是清晰度。我认为第二种方法比第一种方法更清晰。您应该与从事您项目的其他开发人员讨论您的约定,并设置编码标准。一致性是最重要的。
第一种方法的缺点是很难判断您是否打算使用==
而不是=
。在第二种方法中,没有这种歧义。