spl_autoload_register的作用

当php实例化一个类的时候,这个类如果在另外的文件,那么不用include或require的时候就会报错,为了解决这个问题,可以用spl_autoload_register

spl_autoload_register有三个参数(autoload_function,throw=false,prepend=false)

autoload_function

欲注册的自动装载函数。如果没有提供任何参数,则自动注册 autoload 的默认实现函数spl_autoload()

throw

此参数设置了 autoload_function 无法成功注册时, spl_autoload_register()是否抛出异常。

prepend

如果是 true,spl_autoload_register() 会添加函数到队列之首,而不是队列尾部。

用法:

test.php 文件里有类的定义

class test(){

  function run(){

    echo '执行';

  }

}

b文件中

spl_autoload_register(‘load’,true,true);

function load($className){

  echo '我来引入文件'.$classname;

  include('./'.$name.'.php');

}

$c = new test();

$c=>run();

//输出'我来引入文件test执行’

需要注意:

1.定义类的文件类名需要和文件名相同,spl_autoload_register的函数变量默认引入的文件是类名。

2.spl_autoload_register的第一个参数,可以是函数名,也可以是静态方法,例如:loader::load(),

最新文章

  1. 绿色ip扫描工具
  2. WPF 虚拟键盘
  3. mysql 修改 character_set_database 编码格式
  4. 软考类----编码、ASII码等
  5. 颤抖吧,Css3
  6. \Process(sqlservr)\% Processor Time 计数器飙高
  7. R语言︱情感分析—基于监督算法R语言实现(二)
  8. Scala设计模式
  9. echarts 技巧自己的一些记录
  10. winform中按钮透明的方法
  11. ajax用FormData方式提交
  12. FZU.Software Engineering1816 ·The Second Assignment of the Team
  13. Momenta电话面试笔记
  14. 【模板】Trie
  15. JAVA中static什么作用?
  16. [Paper Reading] Image Captioning using Deep Neural Architectures (arXiv: 1801.05568v1)
  17. BZOj 墨墨的等式(转化为最短路)题解
  18. Linux常用命令(随时补充)
  19. poj 2524 Ubiquitous Religions 一简单并查集
  20. 创建发布Webservice以及wsimport工具

热门文章

  1. OSI参考模型(应用层、表示层、会话层、传输层、网络层、数据链路层、物理层)
  2. Ubuntu 16.04 下 旋转显示器屏幕 竖屏显示
  3. Luogu P1297 [国家集训队]单选错位 | 概率与期望
  4. hdu 1158 Employment Planning(DP)
  5. hdu 2199 Can you solve this equation?(二分法求多项式解)
  6. 第35篇-方法调用指令之invokespecial与invokestatic
  7. Go语言核心36讲(Go语言进阶技术十二)--学习笔记
  8. 一次fork引发的惨案!
  9. PyCharm Django Python 开发环境配置 详细教程
  10. 在 macOS 上运行无限许可的 Nessus 10