PHP MVC框架之错误捕捉入门教程

以前有讲过关于php mvc的各种用法,本文章主要介绍PHP MVC框架之错误捕捉用法说明,各位同学可参考.前三篇文章已经把MVC的结构原理都简单的进行了说明和演示…当然,不是说一个框架就只有那点东西,一个良好的框架所要求的功能还是要很全面的,例如友好的错误输出,安全处理,防止跨域攻击等.

好了,我们一步一步来.这节要说的是错误捕捉,其实这个不难,只要理解2个方法就可以做好错误捕捉的程序.

实例代码如下:

  1. register_shutdown_function(‘functionname’);    
  2. set_error_handler(‘functionname’);  

第一个方法,是注册一个shutdown的回调函数,当php脚本关闭时调用,当然这个关闭可以是正常的代码执行完毕,也可以是程序抛出致命错误关闭的脚本,那我怎么区分呢?别急,php还有一个方法叫error_get_last() 就像函数名说的那样,获取php最后一个错误信息,这样就可以判断是代码正常执行完毕还是遇到fatal error…

第二个方法,是注册一个error的回调函数,当脚本执行遇到错误时调用.这2个方法最大的区别是,第一个是脚本关闭调用,也就是1次访问,只会调用一次(因为发生致命错误脚本就退出执行了),二第二个方法的触发调用是发生错误的时候,例如访问数组中不存在的index,使用未定义的变量,就是这些warning,notice错误的捕捉…如果你想更了解二者的区别,建议访问php官网查看文档说明…这里我就不贴代码了,有兴趣的同学,可以去github那里下回来慢慢看…

实例代码如下:

  1. <?php 
  2. # 定义application路径 
  3. define('APPPATH', trim(__DIR__,'/')); 
  4. # 获得请求地址 
  5. $root = $_SERVER['SCRIPT_NAME']; 
  6. $request = $_SERVER['REQUEST_URI']; 
  7. $URI = array(); 
  8. # 获得index.php 后面的地址 
  9. $url = trim(str_replace($root''$request), '/'); 
  10.  
  11. # 如果为空,则是访问根地址 
  12. if (emptyempty($url)) 
  13.     # 默认控制器和默认方法 
  14.     $class = 'Index'
  15.     $func = 'welcome'
  16. else 
  17.     $URI = explode('/'$url); 
  18.  
  19.  
  20.     # 如果function为空 则默认访问index 
  21.     if (count($URI) < 2) 
  22.     { 
  23.         $class = ucfirst($URI[0]); 
  24.         $func = 'index'
  25.     } 
  26.     else 
  27.     { 
  28.         $class = ucfirst($URI[0]); 
  29.         $func = $URI[1]; 
  30.     } 
  31.  
  32. # 把class加载进来 
  33. include(APPPATH . '/' . 'application/controllers/' . $class . '.php'); 
  34.  
  35.  
  36. #实例化 
  37. $obj = new $class
  38.  
  39.  
  40. call_user_func_array( 
  41.     # 调用内部function 
  42.     array($obj,$func), 
  43.     # 传递参数 
  44.     array_slice($URI, 2) 
  45. ); 

我们来看看最终的效果…我们来试试访问不存在的controller里的方法试试先看看没有错误捕捉的时候:再来对比下做了错误捕捉的时候.

波比源码 – 精品源码模版分享 | www.bobi11.com
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 本站源码并不保证全部能正常使用,仅供有技术基础的人学习研究,请谨慎下载
8. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!

波比源码 » PHP MVC框架之错误捕捉入门教程

发表评论

Hi, 如果你对这款模板有疑问,可以跟我联系哦!

联系站长
赞助VIP 享更多特权,建议使用 QQ 登录
喜欢我嘛?喜欢就按“ctrl+D”收藏我吧!♡