这只是一个偏好问题....下面的代码我正在考虑转向序列化&& statments ...这是一个有效的if / else嵌入if / else的。
Is this a preference or is there a "best practice"?
function invoke()
{
$obj=new validate($this->_protected_arr);
if($obj->empty_user())
{
if($obj->email())
{
if($obj->pass())
{
if(self::validate())
{
self::activate_session();
$control=new controller_control();
$control->send('pass');
}
else
{
new view_message('validate');
}
}
else
{
new view_message('pass');
}
}
else
{
new view_message('email');
}
}
else
{
new view_message('empty');
}
}
答案 0 :(得分:4)
扭转你的方法..
if (!$obj->empty_user) {
return new view_message('empty');
}
if (!$obj->foo) {
return new view_message('foo');
}
//Garden of Eden
只有在安全的情况下,您的代码路径才会继续 - 这样可以避免丑陋的嵌套连接,并增加重构的灵活性。不需要&& &安培;&安培; &安培;&安培;一切。