PHP:异常与自定义错误
今天我和我的一个朋友聊得很开心。我们讨论了web开发的几个方面 他批评了我的应用程序错误处理方法,基本上,如果我需要检查用户权限以执行操作,我会执行以下操作:PHP:异常与自定义错误,php,exception,exception-handling,Php,Exception,Exception Handling,今天我和我的一个朋友聊得很开心。我们讨论了web开发的几个方面 他批评了我的应用程序错误处理方法,基本上,如果我需要检查用户权限以执行操作,我会执行以下操作: // My little function function check_user_perms($user) { // @returns boolean // checking is user is permitted to perform an action return ($something > 1)
// My little function
function check_user_perms($user)
{
// @returns boolean
// checking is user is permitted to perform an action
return ($something > 1) ? TRUE : FALSE; // of course it returns true/false, not null
}
// place where I need to check user permission
// please note that following lame snippets are meant to show you my approach
if( check_user_perms($user_id) )
{
// perform the action
}
else
{
echo 'You have no permission to perform this action.';
}
他说,我应该使用例外。所以我开始阅读,并认为我学到了良好的实践
需要澄清的事情很少:1.我应该为web应用程序中的所有内容使用异常吗?
2.如果是,如何在生产时向用户显示消息?
3.你有什么建议
check\u user\u perms
应绝对返回TRUE
或FALSE
(而不是NULL
!)
例外情况适用于例外情况,而不是一般的程序流控制
例如:
- 如果用户有执行此操作的权限,则返回
TRUE
- 如果用户没有执行此操作的权限,则返回
FALSE
- 如果用户不存在,则抛出异常(因为如果首先调用此函数,我们希望用户存在)
true/false
就可以了
另一方面,如果在检查用户是否具有访问权限时发生“异常”错误,例如由于身份验证服务器关闭而无法检查身份验证服务器,则抛出异常是合适的
以下是更多要查看的资源: