__autoload()函数可以实现自动加载所需要的类

用法:

__autoload() 在实例化对象时,若没有引入相关的文件,就会自动调用这个方法来进行加载。

实例:

public function __autoload($className)

{

$actionPath ="E://project/LiB/Action/".$className.".class.php";

if(!file_exists($actionPath))

{

echo $actionPath."路径不存在";

}

require_once($actionPath);

}

spl_autoload_register()函数

作用:注册自定义加载函数

比如在文件中定义一个  loadfile()作为自定义加载函数,但是至少声明或者定义这个函数后,在实例化对象时,程序并不会自动去运行loadfile()这个函数,而会自动运行__autoload()函数。而spl_autoload_register()函数就是让程序在实例化一个对象时组自动调用loadfile()函数。

实例:

class test

{

public function testLoad()

{

echo "这是test类中的testLoad方法";

}

}

?>

spl_autoload_register(array("AutoLoad", "autoLoadCore"), '', true); //注册自动加载方法

//定义自定义加载函数

public static function autoLoadCore($classname)

{

$classPath =  "E://project/LiB/Action/".$className.".class.php";

if(!file_exists($classPath))

{

echo $classPath."路径不存在";

}

require_once($classPath);

}

$test = new test();

$test->testLoad();

?>

结果: 输出:这是test类中的testLoad方法;

spl_autoload_register()有三个参数

第一个:array($classname,$method),是一个数组,数组有两个元素,第一个元素表示自动加载方法所在的类,第二个表示自动加载方法的函数名

第二个参数:表示无法成功注册时是否抛出异常,true/false

第三个参数:true/false,表示是否将函数注册到自动加载函数队列之首。

注意:1、spl_autoload_register()实际上创建了 autoload 函数的队列,按定义时的顺序逐个执行(至今我没有成功实现逐个执行的功能,请各位指点)

2、若使用spl_autoload_register()注册了新的自动加载函数,那么原有的__autoload()函数将失效,若需使用__autoload()函数,需要通过spl_autoload_register()再次注册__autoload()函数,方能在使用此函数

php 5.2 spl_autoload_register,PHP 中的__autoload() 与spl_autoload_register()函数相关推荐

  1. spl_autoload_register 注册自己的自动加载函数(__autoload())

    说明: PHP实例化没有加载的类的,会自动调用__autoload();函数加载,可以通过__autolaod()函数来require类,解决很多类,多次require的问题, 可以通过spl的标准P ...

  2. 如何在sqlite3连接中创建并调用自定义函数

    #!/user/bin/env python # @Time :2018/6/8 14:44 # @Author :PGIDYSQ #@File :CreateFunTest.py '''如何在sql ...

  3. WinCE中串口驱动及接口函数介绍(转载)

    作者:ARM-WinCE 在WinCE中,串口驱动实际上就是一个流设备驱动,具体架构如图: 串口驱动本身分为MDD层和PDD层.MDD层对上层的Device Manager提供了标准的流设备驱动接口( ...

  4. Dictionary作为数据源绑定,调用c++库中返回为BYTE*的函数,listView项排序

    最近在做一个电子档案管理的项目.现在还处于初期,只是做一个简单demo拿去跟客户演示.至于最后谈不谈得下来,到底做不做,反正我是不看好,但没因为这样就马马虎虎.草草了事.这个项目算是b/s加c/s混合 ...

  5. R语言笔记6:在R中写一些简单的函数、functions基础和作用域

    R语言基础系列: 1数据类型(向量.数组.矩阵. 列表和数据框) 2读写数据所需的主要函数.与外部环境交互 3数据筛选--提取对象的子集 4向量.矩阵的数学运算 5控制结构 Your first R ...

  6. pandas将列表list插入到dataframe的单元格中、pandas使用read_csv函数读取文件并设置保留数值的前置0( leading zeroes)

    pandas将列表list插入到dataframe的单元格中.pandas使用read_csv函数读取文件并设置保留数值的前置0( leading zeroes) 目录

  7. R语言使用str_locate函数和str_locate_all函数来定位特定字符串或者字符串模式在字符串中的位置:str_locate函数第一个位置、str_locate_all函数定位所有位置

    R语言使用str_locate函数和str_locate_all函数来定位特定字符串或者字符串模式在字符串中的位置:str_locate函数第一个位置.str_locate_all函数定位所有位置 目 ...

  8. pandas使用replace函数替换dataframe中的值:replace函数对dataframe中的多个值进行替换、即一次性同时对多个值进行替换操作

    pandas使用replace函数替换dataframe中的值:replace函数对dataframe中的多个值进行替换.即一次性同时对多个值进行替换操作 目录

  9. R语言计算F1评估指标实战:F1 score、使用R中caret包中的confusionMatrix()函数为给定的logistic回归模型计算F1得分(和其他指标)

    R语言计算F1评估指标实战:F1 score.使用R中caret包中的confusionMatrix()函数为给定的logistic回归模型计算F1得分(和其他指标) 目录

  10. pandas使用replace函数替换dataframe中的值:replace函数对dataframe中指定数据列的值进行替换、替换具体数据列的相关值

    pandas使用replace函数替换dataframe中的值:replace函数对dataframe中指定数据列的值进行替换.替换具体数据列的相关值 目录

最新文章

  1. AlphaGo“兄弟”AlphaFold出世,DeepMind再创记录
  2. 【有奖征文】情人节,和书一起走过的日子
  3. html文本超出自动换行、显示省略号
  4. Rosonblatt线性感知器
  5. 信息学奥赛一本通 1308:【例1.5】高精除
  6. spring boot 整合Dubbo/Zookeeper
  7. 沙盒机制和应用程序目录
  8. 变电所自动化系统的电源配置
  9. Spring MVC处理响应的 header
  10. Android环境搭建配置问题(ZT)
  11. 一次追踪h5游戏中google广告的经历
  12. 第三篇--编译CM系统
  13. 海尔空调、新风系统加装wifi模块
  14. c语言课程设计三色球问题,C++三色球问题描述与算法分析
  15. MTI姿态传感器学习笔记
  16. 强化学习6——policy gradient的优化( Use temporal causality,Baseline and Critic)
  17. 绚丽的魔兽世界,广袤的艾泽拉斯大陆
  18. windows使用docker部署gitlab
  19. svn update冲突解决
  20. 从零开始学习D2-Admin,只要学习,任何时候都不晚!

热门文章

  1. centos6.8 开启透传
  2. RMAN 总括 组成 配置 检测
  3. M2M技术、标准与智慧城市顶层设计方法
  4. 利用遗传算法求解旅行商问题
  5. ButterKnife 8.6.0 使用
  6. idea添加scala环境_Scala(一)——scala+Idea环境配置
  7. Vue中常用的组件传值方式
  8. 分享几个vue后台模板
  9. android文字多行滚动显示,Android实现在TextView文字过长时省略部分或滚动显示的方法...
  10. PHPMailer 报错:SMTP ERROR: Password command failed: 535 Login Fail