本文实例讲述了PHP类的自动加载机制。分享给大家供大家参考,具体如下: 前言 一、概念在PHP代码中,不需要显式地使用文件路径将类库文件包含进来,便可使用该文件中定义的类库,这种技术称作自动加载。 二、PHP实现类的自动加载的方法方法,当程序中 new void __autoload ( string $class ) 函数抛出的异常不能被catch语句块捕获并会导致一个致命错误(FatalError)。自PHP5.3起,能够thrown自定义的异常(Exception),随后自定义异常类即可使用。 __autoload,该函数可以注册给定的函数作为 __autoload的时候从队列中获取函数并引入,完成实例化。bool spl_autoload_register ([ callable $autoload_function [, bool $throw = true [, bool $prepend = false ]]] )提供了一种更加灵活的方式来实现类的自动加载(同一个应用中,可以支持任意数量的加载器,比如第三方库中的);
(3)当使用多个 spl_autoload_register建议使用 spl_autoload_register函数在更高版本的PHP中将被弃用。使用spl可以注册多个 autoload方法,还是找不到这个类定义,但尝试去执行第二个 autoload。 二、PHP类自动加载的意义
3、虽然性能和 detest_file
(1)app中保证类名不重复。这要求框架支持自定义router规则,改变默认module和action的名字;同时也对app代码有要求。(2)app中使用namespace,虽然短类名仍然重复,但加上了namespace的完整类名就不重复了; 三、注意点,则它可能包含一些危险的字符,比如 。 建议在这样的函数中不要使用用户的输入,起码需要验证下输入。php面向对象程序设计入门教程》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
查看更多关于PHP进阶学习之类的自动加载机制原理分析的详细内容...