这里有新鲜出炉的 PHP 面向对象编程,程序狗速度看过来!
PHP(外文名: Hypertext Preprocessor,中文名:"超文本预处理器")是一种通用开源脚本语言。语法吸收了 C 语言、Java 和 Perl 的特点,入门门槛较低,易于学习,使用广泛,主要适用于 web 开发领域。PHP 的文件后缀名为 php。
相信每位 PHP 程序员都知道,当 PHP 程序出现异常情况,如出现致命错误、超时或者不可知的逻辑错误导致程序中断,这个时候就可以用 register_shutdown_function 进行异常处理。下面本文给出了详细的示例代码,有需要的朋友们下面来一起看看吧。
前言
任何程序员在开发时都可能遇到过一些失误,或其他原因造成错误的发生。当然,用户如果不愿意或不遵循应用程序的约束,也会在使用时引起一些错误发生。本文主要介绍在 php 中用
进行异常处理的方法,有需要的可以一起学习学习。
- register_shutdown_function
实例详解
比如判断一个脚本是否执行完成,可以设置一个属性为
,在执行完成时设为
- false
,最后通过
- true
函数指定的方法进行判断,并做进一步异常处理,如代码所示:
- register_shutdown_function
- class IndexController extends Controller {
- /**
- * 脚本执行是否完成
- * @var bool
- */
- protected $complete = false;
- public
- function __construct() {
- register_shutdown_function([$this, 'shutdown']);
- }
- /**
- * 异常处理
- */
- public
- function shutdown() {
- if ($this - >complete === false) {
- dump('www.tanteng.me'); //此处应该输出日志并进行异常处理操作
- }
- }
- }
这样一来,可以快速定位脚本是否中断,通过
处理异常并提高程序的健壮性,并且可以记录程序中断的状态,方便通过日志快速定位问题。
- register_shutdown_function
register_shutdown_function 执行机制
PHP 把要调用的函数调入内存。当页面所有 PHP 语句都执行完成时,再调用此函数。注意,在这个时候从内存中调用,不是从 PHP 页面中调用,所以如果有路径信息,应使用绝对路径,因为 PHP 已经当原来的页面不存在了。就没有什么相对路径可言。
可以这样理解调用条件:
1、当页面被用户强制停止时
2、当程序代码运行超时时
3、当PHP代码执行完成时
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家学习或者使用 PHP 能有所帮助,如果有疑问大家可以留言交流,谢谢大家对 phperz 的支持。
来源: http://www.phperz.com/article/17/0527/330953.html