php中__autoload和spl_autoload_register的用法
来源:互联网 发布:淘宝卖家刷200单多少钱 编辑:程序博客网 时间:2024/05/22 02:03
__autoload方法是用于类的的自动加载的。如果没有这个方法,在调用各种类的时候则需要引入各种类文件。
比如有一个类文件HelloWord.class.php:
class HelloWord{ public function doPrint(){ echo "helloWord"; }}
如果要调用HelloWord这个类的话则必须引入HelloWord.class.php,如果要调用很多类似的类则需要引入各种文件,整个代码的可读性就会很差,使用__autoload则可以有效解决这个问题
<?php function __autoload($class){ $file = $class.".class.php"; if(is_file($file)){ require($file); } } $class = new HelloWord(); $class->doPrint(); ?>
上述代码很好理解PHP在实例化HelloWord这个类的时候回去先访问__autoload()这个方法并更具方法中的规则引入类文件
spl_autoload_register方法也是实现自动加载类文件的功能,不过他是注册给定的函数作为 __autoload 的实现
上述代码可以改为:
<?php function autoload($class){ $file = $class.".class.php"; if(is_file($file)){ require($file); }}spl_autoload_register("autoload");$class = new HelloWord();$class->doPrint();
同样也可以实现自动加载的方法,spl_autoload_register也可以将类中的静态方法作为自动加载方法调用:spl_autoload_register(array('$className','$function'));
0 0
- php中__autoload和spl_autoload_register的用法
- PHP函数spl_autoload_register()用法和__autoload()介绍
- PHP函数spl_autoload_register()用法和__autoload()介绍
- PHP框架优化-spl_autoload_register()用法和__autoload()
- PHP函数spl_autoload_register()用法和__autoload()介绍
- PHP函数spl_autoload_register()用法和__autoload()介绍
- PHP中spl_autoload_register()和__autoload()区别分析
- PHP中spl_autoload_register()和__autoload()区别
- PHP函数__autoload()和spl_autoload_register()
- 117 php __autoload 和 spl_autoload_register
- __autoload()和spl_autoload_register()的理解
- PHP中的__autoload()和spl_autoload_register()笔记
- 比__autoload 更灵活的 spl_autoload_register 用法
- PHP类的自动加载__autoload && spl_autoload_register
- __autoload()和spl_autoload_register()
- __autoload和spl_autoload_register()
- PHP中spl_autoload_register函数的用法
- PHP中spl_autoload_register函数的用法
- Android屏幕截图
- 2015-12-29
- RxAndroid和RxJava的资料分享
- JAVA输入输出(IO)之字节流
- Javascript 学习笔记
- php中__autoload和spl_autoload_register的用法
- 书单
- 【splay】BZOJ 1500: [NOI2005]维修数列
- mysql 授权用户
- android 修改listview item view 的方法
- 横竖屏切换onSaveInstanceState() 和 onRestoreInstanceState()
- 用于去掉button外部的边线
- 安卓向服务器(Spring)发送json
- iOS上Sqlite多线程问题