php教程-php面向对象汇总课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《php教程-php面向对象汇总课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- php 教程 _php 面向 对象 汇总 课件
- 资源描述:
-
1、lPHP中的错误信息 lphp.ini中配置错误消息 lphp中错误消息处理 lphp代码中调整错误级别 l自定义错误处理 lPHP5中的SPL模块 l什么是SPL lspl.php中的异常处理类 lspl.php中的其它异常类 lPHP5异常捕获 l异常实例 l抛出异常 l在代码中捕获异常 l在代码中捕获异常(2)l一个catch块处理多种异常 l多个catch块处理异常 l异常处理块嵌套 l异常向外抛出 lPHP5自定义异常 l 自定义异常 l异常处理实例 l验证实例 l验证实例代码PHP中的错误信息中的错误信息 lphp.ini中配置错误消息 l在PHP4中,没有异常 Exception
2、这个概念,只有 错误Error。我们可以通过修改php.ini 文件来配置用户端输出的错误信息。l在php.ini 中,一个分号;表示注释。lPhp.ini 将能够显示的错误类型分为如下种类l在php.ini 中error_reporting 控制输出到用户端的消息种类。l以下几种是php.ini 中推荐的几种配置。lerror_reporting=E_ALL l表示输出所有的信息。lerror_reporting=E_ALL&E_NOTICE 表示输出所有的错误,除了提示。lerror_reporting=E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR
3、|E_CORE_ERROR l表示输出所有的 ERROR 信息。l在php.ini 中,display_errors可以设置是否将以上设置的错误信息输出到用户端。ldisplay_errors=On 输出到用户端(调试代码时候,打开这项更方便)ldisplay_errors=OFF 消息将不会输出到用户端(最终发布给用户时记得改成off)php中错误消息处理中错误消息处理 l在php中,对于错误处理非常的宽松。php系统会尽量让程序运行下去,除非遇到致命错误。l再次提示:如果不想显示错误信息给用户看到,设置php.ini中 ldisplay_errors=OFF php代码中调整错误级别代码中
4、调整错误级别 l除了在php.ini文件中可以调整错误消息的显示级别外,在php代码中也可以自定义消息显示的级别。lPHP提供了一个方便的调整函数。lint error_reporting(int level)l使用这个函数可以定义当前php页面中错误消息的显示级别。l参数level使用了二进制掩码组合的方式。自定义错误处理自定义错误处理 l在php中,可以自定义对错误处理的方式。l首先要自定义一个错误处理函数,然后使用 set_error_handler()函数向系统声明错误处理函数。代码中产生的错误就会使用这个错误处理函数了。l使用trigger_error()函数,可以触发一个error
5、。l例如trigger_error(age you input must=0,E_USER_ERROR),触发自己的错误信息。l?phplfunction myErrorHandler($errno,$errstr,$errfile,$errline)lswitch($errno)lcase E_USER_ERROR:lecho My ERROR$errno$errstrn;lecho Fatal error in line$errline of file$errfile;lecho,PHP .PHP_VERSION.(.PHP_OS.)n;lecho Aborting.n;exit(1);l
6、break;lcase E_USER_WARNING:lecho My WARNING$errno$errstrn;lbreak;lcase E_USER_NOTICE:lecho My NOTICE$errno$errstrn;lbreak;ldefault:lecho Unknown error type:$errno$errstrn;lbreak;lllset_error_handler(myErrorHandler);/定义错误处理函数.l$age=-100;/假设出现了负数的年龄,这明显是错误的。lif($age=0”,E_USER_ERROR);/触发错误;ll?PHP5中的中的S
7、PL模块模块 l在PHP5中有一个独特的部分SPL-StandardPHPLibrary Modules(PHP标准库)。l在SPL文档中这样说明的:lSPL PHP标准库是用来解决标准问题并实现一些高效数据访问的接口和类的集合。你会发现这些类用PHP代码编写在 sql.php文件中,或在对应例子、内核的.inc 文件中。基于这些内核的实现或在示例目录下的,也是一些.php文件。spl.php中的异常处理类中的异常处理类 l从PHP5.0开始,在SPL中引入了异常处理类。lNotice:异常与错误在PHP中是两个完全不同的概念。l在PHP源码包中能找到这个文件 spl.php,在spl.php
8、中定义了一个异常类 Exception。l在这个类中,定义了一些属性如下:lprotected$message;l存储异常信息的变量。lprivate$string;l格式化过以后的异常信息。lprotected$code;通过构造函数传递的 异常代码。lprotected$file;l产生异常的php文件的文件名。lprotected$line;l引起异常的代码在php文件中所在的行数。lprivate$trace;l引起异常后,包含相关信息的一个数组。l构造函数如下:lfunction _construct($message=NULL,$code=0)lif(func_num_args()
9、/func_num_args()返回参数数量 l$this-message=$message;l l$this-code=$code;/错误代码默认是0;l$this-file=_FILE_;/文件名 l$this-line=_LINE_;/行号 l$this-trace=debug_backtrace();/返回一个包含多个元素 l$this-string=StringFormat($this);/格式化字符串 l l其中还包含了_clone()方法和对应这些属性的geter方法。spl.php中的其它异常类中的其它异常类 l在SPL中还定义了其它的异常类,以对应不同的异常类型。这些异常类都
10、是Exception类的子类。l在Exception类有两个直接子类 LogicException 和 RuntimeException,分别表示逻辑异常和执行异常。lLogicException又衍生出其它的逻辑异常子类。lclass LogicException extends Exception l程序中的逻辑错误的异常类,它是Exception类的直接子类。lclass BadFunctionCallException extends LogicException l当不合法的函数被调用产生的异常类。lclass BadMethodCallException extends BadFu
11、nctionCallException l当不合法的方法被调用产生的异常类。lclass DomainException extends LogicException l表示一个值不在有效范围内的异常。lclass InvalidArgumentException extends LogicException l表示传递了无效的参数产生的异常。lclass LengthException extends LogicException l表示一个参数超过了许可的长度的异常。lclass OutOfRangeException extends LogicException l表示请求检索超越了数组
12、等容器最大长度的异常。RuntimeException衍生出衍生出其它运行异常子类其它运行异常子类lclass RuntimeException extends Exception l只有在执行时才能发现的异常,是Exception的直接子类。lclass OutOfBoundsException extends RuntimeException l表示请求检索超越了数组等容器最大长度的异常。lclass OverflowException extends RuntimeException l表示算法/缓存溢出异常 lclass RangeException extends RuntimeEx
展开阅读全文