PHP中类的自动加载的方法


Posted in PHP onMarch 17, 2017

类的自动加载是指,在外面的页面中,并不需要去“引入”类文件,但是程序会在需要的时候动态加载需要的类文件。

方法1:使用__autoload魔术函数

当程序需要某个类时,就会去调用该函数,该函数我们需要自己去定义并在其中写好加载类文件的通用语句。

<?php
    //需要类是自动调用,而且会传进来一个类名,这个案例的文件名为21A.class.php,类名为A
     function __autoload($className){
      require "./21".$className.".class.php";
    }
    $o1 = new A();
    $o1->v1 = 10;
    echo "<br/>v1:".$o1->v1;
  ?>

方法2:使用spl_autoload_register函数

该函数的作用是生命多个可以用来代替autoload函数作用的函数,语法如下:spl_autoload_regist("函数名1");如果用spl_autoload_register,autoload就失效了。

<?php
    //注册两个用于自动加载的函数名
    spl_autoload_register('auto1');
    spl_autoload_register('auto2');
    function auto1($className){
      $file = "./21".$className.".class.php";
      if(file_exists($file)){
        require "./21".$className.".class.php";
      }
    }
    function auto1($className){
      $file = "./22".$className.".class.php";
      if(file_exists($file)){
        require "./22".$className.".class.php";
      }
    }
    //如果需要一个雷,但这个页面还没有记载,就会依次调用auto1和auto2,知道找到该类文件并加载
  ?>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
学习使用PHP数组
Oct 09 PHP
php生成缩略图的类代码
Oct 02 PHP
PHP中输出转义JavaScript代码的实现代码
Apr 22 PHP
PHP5函数小全(分享)
Jun 06 PHP
PHP5各个版本的新功能和新特性总结
Mar 16 PHP
php实现的SESSION类
Dec 02 PHP
php结合安卓客户端实现查询交互实例
May 05 PHP
PHP实现远程下载文件到本地
May 17 PHP
PHP中子类重载父类的方法【parent::方法名】
May 06 PHP
微信自定义菜单的创建/查询/取消php示例代码
Aug 05 PHP
PHP按一定比例压缩图片的方法
Oct 12 PHP
小程序微信退款功能实现方法详解【基于thinkPHP】
May 05 PHP
thinkPHP5.0框架简单配置作用域的方法
Mar 17 #PHP
thinkPHP5.0框架环境变量配置方法
Mar 17 #PHP
php正则判断是否为合法身份证号的方法
Mar 16 #PHP
thinkPHP框架可添加js事件的分页类customPage.class.php完整实例
Mar 16 #PHP
ThinkPHP3.2框架使用addAll()批量插入数据的方法
Mar 16 #PHP
Yii1.1中通过Sql查询进行的分页操作方法
Mar 16 #PHP
php生成无限栏目树
Mar 16 #PHP
You might like
PHP中ADODB类详解
2008/03/25 PHP
php adodb分页实现代码
2009/03/19 PHP
PHP 文章中的远程图片采集到本地的代码
2009/07/30 PHP
php 查找数组元素提高效率的方法详解
2017/05/05 PHP
Laravel + Elasticsearch 实现中文搜索的方法
2020/02/02 PHP
PHP反射基础知识回顾
2020/09/10 PHP
[原创]保存的js无法执行的解决办法
2007/02/25 Javascript
在新窗口打开超链接的方法小结
2013/04/14 Javascript
js使用栈来实现10进制转8进制与取除数及余数
2014/06/11 Javascript
Javscript调用iframe框架页面中函数的方法
2014/11/01 Javascript
js实现class样式的修改、添加及删除的方法
2015/01/20 Javascript
javascript实现当前页导航激活的方法
2015/02/27 Javascript
jquery实现滑动特效代码
2015/08/10 Javascript
js实现的Easy Tabs选项卡用法实例
2015/09/06 Javascript
用AngularJS的指令实现tabs切换效果
2016/08/31 Javascript
js实现导航栏中英文切换效果
2017/01/16 Javascript
jQuery实现所有验证通过方可提交的表单验证
2017/11/21 jQuery
Vue项目添加动态浏览器头部title的方法
2018/07/11 Javascript
vue中$nextTick的用法讲解
2019/01/17 Javascript
关于在LayUI中使用AJAX提交巨坑记录
2019/10/25 Javascript
js实现浏览器打印功能的示例代码
2020/07/15 Javascript
理解JavaScript中的对象
2020/08/25 Javascript
[02:16]完美世界DOTA2联赛PWL S3 集锦第三期
2020/12/21 DOTA
python的paramiko模块实现远程控制和传输示例
2017/10/13 Python
Python中装饰器高级用法详解
2017/12/25 Python
python 获取list特定元素下标的实例讲解
2018/04/09 Python
Python实现的维尼吉亚密码算法示例
2018/04/12 Python
python 实现查找文件并输出满足某一条件的数据项方法
2019/06/12 Python
python 使用elasticsearch 实现翻页的三种方式
2020/07/31 Python
详解css3中的伪类before和after常见用法
2020/11/17 HTML / CSS
澳大利亚领先的美容护肤品零售商之一:SkincareStore
2018/01/22 全球购物
学生会竞选自荐信
2013/10/12 职场文书
2015年个人审计工作总结
2015/04/07 职场文书
导游词之无锡梅园
2019/11/28 职场文书
RestTemplate如何通过HTTP Basic Auth认证示例说明
2022/03/17 Java/Android
Nginx开源可视化配置工具NginxConfig使用教程
2022/06/21 Servers