我正在对新应用程序进行原型设计,并希望编写一些基于某些变量日期检查访问权限的函数。
我只想为此编写单独的函数,例如“canUserSeeThis()”和“canUserSeeThat()”
如果其中一个返回false,我想显示一条消息,但我希望在这些函数中定义该消息,但渲染参与函数之外。
快速构建此类功能的最佳“模式”是什么?我应该让消息在返回值中吗?我应该抛出异常吗?
我只是原型设计,所以我不想最终定义一个完整的API系统。
答案 0 :(得分:0)
我认为只需通过引用即可:
<?php
function canUserSeeThis(&$whyCanNotMessage)
{
$whyCanNotMessage = 'Because you are not administrator';
return false;
}
$meesage;
if (!canUserSeeThis($meesage))
print($message);
?>
如果需要收集几条消息,可以通过引用数组传递,每个canUserSeeXXX()方法都会向数组中添加一个字符串。稍后您将所有数组项打印到用户。
<?php
function canUserSeeThis(&$whyCanNotMessageList)
{
array_push($whyCanNotMessageList, 'Because you are not administrator');
return false;
}
function canUserSeeThat(&$whyCanNotMessageList)
{
array_push($whyCanNotMessageList, 'Because you are not advanced user');
return false;
}
$meesageList = array();
$shouldShowMessage = !canUserSeeThis($meesageList)||!canUserSeeThat($meesageList);
if ($shouldShowMessage)
echo '<pre>'; print_r($meesageList); echo '</pre>';
?>