php类的注册与自动加载__autoload_PHP教程
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php类的注册与自动加载__autoload_PHP教程,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3498字,纯文字阅读大概需要5分钟。
内容图文
![php类的注册与自动加载__autoload_PHP教程](/upload/InfoBanner/zyjiaocheng/180/3ab864f4cc3d45489a53026f73fbcc52.jpg)
注意:__autoload() 内的错误不能被 try-catch 捕获。
代码如下 | |
function __autoload($class_name){ require_once(PATH.'/calsses/'.$class_name.'.php'); } $obj1 = new mycalss1(); |
注册 __autoload() 自动调用的函数:
spl 代码库在 PHP5.0 之后默认自动启用
spl_autoload_register([callback]); //不将具体实现的加载代码写在 __autoload() 内,可使用该函数注册回调函数。
如果使用类的方法作为回调函数需要传入一个数组:
代码如下 | |
spl_autoload_register(array('class_name'|$obj,'method_name')); 例如: spl_autoload_register(array($this,'autoloadClass')); |
spl_autoload_register(array('YiiBase','autoload'));// YII 框架的自动加载类的实现, YiiBase 类实现了一个autoload 方法。 spl_autoload_register() 可以注册多个加载函数,成功加载类文件之前将逐个尝试所有注册的加载函数。这在不同的类使用不同逻辑来导入类文件的时候很有用。
spl_autoload_unregister(); //取消某个注册的加载函数,参数与 spl_autoload_register() 相同.
spl_autoload_functions();// 以数组形式返回所有注册的 __autoload() 函数
spl_autoload(class_name[,file_extentions]); // __autoload() 函数的默认实现。 spl_autoload_register() 被调用时如果没有传入 函数名,则默认使用该函数,该函数的执行规则是: 类名转为小写作为文件名,传入的 file_extentions(多个扩展名以逗号隔开,默认为 .inc 和 .php)为扩展名,根据得到的文件名尝试在 php.ini 内设置的 include paths 中搜索。
spl_autoload_call(class_name);//手动调用所有注册的 __autoload() 函数来主动加载类文件
spl_autoload_extentions([file_extentions]); //注册或返回 spl_autoload() 中可以使用的文件扩展名,扩展名可以是 .a.b 这样的形式,例如:
代码如下 | |
spl_autoload_extentions(".class.php"); spl_autoload_register(); //使用spl_autoload() 来尝试自动加载类文件 //这样 spl_autoload('myclassName'); 会尝试加载 文件 "myclassName.class.php" . |
实例
1、将需要注册的类放在一个数组中
代码如下 | |
private function __construct() { } public static function getClasses($pre_path = '/') { |
2、注册数组
注意:步骤1中的类的路径都是相对于init.php而言的,不是相对于Utils而言的,这是因为我们通过init.php里的自动加载函数spl_autoload_register来require类的
代码如下 | |
|
3、本例中在使用处test.php里require init.php
代码如下 | |
require_once 'Init.php'; $dao = new UserDao(); |
http://www.bkjia.com/PHPjc/631580.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/631580.htmlTechArticle__autoload() 是PHP执行环境中约定的一个函数而非某个类的方法,如果一个类在使用之前没有加载到当前文件,会自动调用 __autoload() 函数来加...
内容总结
以上是互联网集市为您收集整理的php类的注册与自动加载__autoload_PHP教程全部内容,希望文章能够帮你解决php类的注册与自动加载__autoload_PHP教程所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。