框架 定义halt函数的问题

漫步的猪 2016-06-03 10:27:44
最近看视频写一个小框架,提到一个定义halt函数().
平常调用都是halt("调用失败了");$error参数什么时候为数组怎么传递数组的形式了,我直接传递halt(array('调用失败1','调用失败2));报错信息:Undefined index: message
function halt($error,$level='ERROR',$type=3,$dest=null){
// 判断$error是不是为数组
if(is_array($error)){
Log::write($error['message'],$level,$type,$dest);
}else{
Log::write($error,$level,$type,$dest);
}
$e=array();
if(DEBUG){
//如果开启了,显示详细信息
if(!is_array($error)){
$trace=debug_backtrace();
// p($trace);
// 将信息压入数组$e
$e['message']=$error;
$e['file']=$trace[0]['file'];
$e['line']=$trace[0]['line'];
$e['class']=isset($trace[0]['class'])?$trace[0]['class']:'';
$e['function']=isset($trace[0]['function'])?$trace[0]['function']:'';

// 定义trace信息
//开区缓存区
ob_start();
// 打印程序的调用栈,用来查看瞬间函数调用栈,方便查错
debug_print_backtrace();
// ob_get_clean() 得到当前缓冲区的内容并删除当前输出缓冲区。ob_get_clean() 实质上是一起执行了 ob_get_contents() 和 ob_end_clean()。
$e['trace']=htmlspecialchars(ob_get_clean());
}else{
$e=$error;
}
// 如果没开启DEBUG模式,则不显示具体信息
}else{
// 如果配置项中地址做了定义,则跳转
if($url=C('ERROR_URL')){
go($url);
}else{
$e['message']=C('ERROR_MSG');
}
}
// 载入halt.html模板
include_once COMMON_PATH.'/halt.html';
}
...全文
204 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
果酱很好吃 2016-06-03
  • 打赏
  • 举报
回复
提示你 :Undefined index: message 说明 array('调用失败1','调用失败2) 这个要有一个 message 的索引键 如 array(‘message ’=>'调用失败1')

4,250

社区成员

发帖
与我相关
我的任务
社区描述
国内外优秀PHP框架讨论学习
社区管理员
  • Framework
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧