使用代码点火器时,我创建了许多看起来像这样的函数;
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');
但在我看来实际上更容易理解。
答案 0 :(得分:2)
正如你所说,这两种方法是相同的。唯一的区别是清晰度。我相信第二种方法比第一种方法更清晰。您应该与处理项目的其他开发人员讨论您的约定,并将标准设置为代码。一致性是最重要的。
第一种方法的缺点是很难判断您是否打算使用==
而不仅仅是=
。在第二种方法中,没有这种歧义。