我是关于我的php开发的反思。我正在尝试优化我的代码。
我经常这样:
if($userConnected->getType() == User::BUYER_ACCOUNT_TYPE || $userConnected->getType() == User::ADMIN_ACCOUNT_TYPE){//Mycode}
我的问题是:是否可能有类似的内容:
if($userConnected->getType() == User::BUYER_ACCOUNT_TYPE || User::ADMIN_ACCOUNT_TYPE)
实际上我发现这样做的最好方法是:
if(in_array($userConnected->getType(), array(User::BUYER_ACCOUNT_TYPE, User::ADMIN_ACCOUNT_TYPE)))
我想知道是否有更好的方法?
提前谢谢
托马斯
答案 0 :(得分:2)
您可以向User类添加一些公共方法,以检查用户是买方还是管理员:
public function isBuyer()
{
return $this->type === self::BUYER_ACCOUNT_TYPE;
}
public function isAdmin()
{
return $this->type === self::ADMIN_ACCOUNT_TYPE;
}
使用这些方法,您只需检查:
if ($userConnected->isBuyer() || $userConnected->isAdmin())
如果经常使用上述条件,您可以采取更进一步的方法:
public function isAllowed() // just an example of a method name
{
return $this->isBuyer() || $this->isAdmin();
}