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脚本的10个技巧(7)
Oct 09 PHP
PHP中一个控制字符串输出的函数
Oct 09 PHP
PHP4 与 MySQL 数据库操作函数详解
Dec 06 PHP
php模板之Phpbean的目录结构
Jan 10 PHP
javascript,php获取函数参数对象的代码
Feb 03 PHP
关于url地址传参数时字符串有回车造成页面脚本赋值失败的解决方法
Jun 28 PHP
php生成短网址示例
May 05 PHP
基于PHP的简单采集数据入库程序
Jul 30 PHP
本地计算机无法启动Apache故障处理
Aug 08 PHP
php动态添加url查询参数的方法
Apr 14 PHP
php恢复数组的key为数字序列的方法
Apr 28 PHP
PHP时间日期增减操作示例【date strtotime实现加一天、加一月等操作】
Dec 21 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隐形一句话后门,和ThinkPHP框架加密码程序(base64_decode)
2011/11/02 PHP
破解.net程序(dll文件)编译和反编译方法
2013/01/31 PHP
深入php-fpm的两种进程管理模式详解
2013/06/03 PHP
php pki加密技术(openssl)详解
2013/07/01 PHP
PHP 获取文件权限函数介绍
2013/07/11 PHP
php上传文件并显示上传进度的方法
2015/03/24 PHP
javascript控制frame,iframe的src属性代码
2009/12/31 Javascript
js中opener与parent的区别详细解析
2014/01/14 Javascript
jquery对元素拖动排序示例
2014/01/16 Javascript
nodejs入门教程一:概念与用法简介
2017/04/24 NodeJs
vue实现页面加载动画效果
2017/09/19 Javascript
利用vue+elementUI实现部分引入组件的方法详解
2017/11/22 Javascript
javascript/jquery实现点击触发事件的方法分析
2019/11/11 jQuery
python三引号输出方法
2019/02/27 Python
详解python列表(list)的使用技巧及高级操作
2019/08/15 Python
关于Python3 类方法、静态方法新解
2019/08/30 Python
利用PyCharm操作Github(仓库新建、更新,代码回滚)
2019/12/18 Python
python 图像的离散傅立叶变换实例
2020/01/02 Python
Pytorch 实现sobel算子的卷积操作详解
2020/01/10 Python
Python函数基本使用原理详解
2020/03/19 Python
Python flask路由间传递变量实例详解
2020/06/03 Python
Python3创建Django项目的几种方法(3种)
2020/06/03 Python
阿玛尼美妆英国官网:Giorgio Armani Beauty英国
2019/03/28 全球购物
说出一些常用的类,包,接口
2014/09/22 面试题
Java中采用什么结构来捕获、处理异常?各子句的顺序、功能如何
2013/10/07 面试题
中学教师培训制度
2014/01/31 职场文书
《愚公移山》教学反思
2014/02/20 职场文书
大学军训感言600字
2014/02/25 职场文书
银行党的群众路线教育实践活动对照检查材料
2014/09/25 职场文书
党员批评与自我批评材料
2014/10/14 职场文书
2014年计生协会工作总结
2014/11/21 职场文书
毕业生评语大全
2015/01/04 职场文书
单位实习鉴定评语
2015/01/04 职场文书
保研推荐信范文
2015/03/25 职场文书
nginx反向代理时如何保持长连接
2021/03/31 Servers
解决Mysql中的innoDB幻读问题
2022/04/29 MySQL