详细出处参考:http://www.jb51.net/article/29624.htm

又是框架冲突导致__autoload()失效,用spl_autoload_register()重构一下,问题解决

__autoload()的用法就不再说了,以前已经在我的WEB开发笔记中说过。PHP __autoload函数(自动载入类文件)的使用方法, 原文地址:http://www.jb51.net/article/29625.htm 。
说一说,spl_autoload_register()的用法吧,很简单,可以这样理解,就是声明一个自定义__autoload(),你可以是A函数,也可以是B函数,想怎么样就怎么样,函数体的写法,当然要和__autoload()一样就OK 了。
当PHP找不到类文件会调用这个方法,当注册了自己的函数或方法时,PHP不会调用__autoload()函数,而会调用自定义的函数
spl_autoload_register(‘func_name');
spl_autoload_register(array(‘class_name','method_name'));
详细说明如下:
spl_autoload_register
(PHP 5>= 5.1.2)
spl_autoload_register — 注册__autoload()函数
说明
bool spl_autoload_register ([ callback $autoload_function ] )
将函数注册到SPL __autoload函数栈中。如果该栈中的函数尚未激活,则激活它们。
如果在你的程序中已经实现了__autoload函数,它必须显式注册到__autoload栈中。因为
spl_autoload_register()函数会将Zend Engine中的__autoload函数取代为spl_autoload()或
spl_autoload_call()。
参数
autoload_function
欲注册的自动装载函数。如果没有提供任何参数,则自动注册autoload的默认实现函数
spl_autoload()。
返回值
如果成功则返回 TRUE,失败则返回 FALSE。
注:SPL 是Standard PHP Library(标准PHP库)的缩写。它是PHP5引入的一个扩展库,其主要功能包括autoload机制的实现及包括各种Iterator接口或类。 SPL autoload机制的实现是通过将函数指针autoload_func指向自己实现的具有自动装载功能的函数来实现的。SPL有两个不同的函数 spl_autoload, spl_autoload_call,通过将autoload_func指向这两个不同的函数地址来实现不同的自动加载机制。
代码如下:
test.class.php

<?php
class abc{
function __construct()
{
echo 'www.chhua.com;
}
}
?> 

load.php

<?php
class LOAD
{
static function loadClass($class_name)
{
$filename = $class_name.".class.php";
if (is_file($filename)) return include_once $filename;
}
}
/**
* 设置对象的自动载入
* spl_autoload_register — Register given function as __autoload() implementation
*/
spl_autoload_register(array('LOAD', 'loadClass'));
$a = new Test();//实现自动加载,很多框架就用这种方法自动加载类
?> 

PHP函数spl_autoload_register()用法和__autoload()介绍(转)相关推荐

  1. mysql排序两位数_MySQL_Mysql row number()排序函数的用法和注意,虽然使用不多,但是也有情况 - phpStudy...

    Mysql row number()排序函数的用法和注意 虽然使用不多,但是也有情况是需要在mysql 里面写语句开发功能的.在sql server 使用惯了,习惯了使用row_number() 函数 ...

  2. scanf()函数的用法和实践

    scanf()函数的用法和实践 摘要: 本文阐述了基于ANSI,Win 95,Win NT上的 C/C++语言中scanf()函数的用法,以及在实际使用中常见错误及对策. 关键词: scanf() 一 ...

  3. Python使用os.listdir()函数来得目录内容的介绍

    转载:http://www.cnblogs.com/100thMountain/p/4769238.html Python使用os.listdir()函数来得目录内容的介绍 Python编程语言是计算 ...

  4. C语言可变参数函数的使用及相关函数介绍

    By qianghaohao(Xqiang) 在C语言中当一个函数参数无法列举出来,或者参数个数  不确定,这时我们将函数声明为可变参数的形式,根据需  要传适当个数的参数.举例如下: int fun ...

  5. python中run函数作用_Python run()函数和start()函数的比较和差别介绍

    run() 方法并不启动一个新线程,就是在主线程中调用了一个普通函数而已. start() 方法是启动一个子线程,线程名就是自己定义的name. 因此,如果你想启动多线程,就必须使用start()方法 ...

  6. c++ memset 语言_C/C++ 中memset() 函数详解及其作用介绍

    memset 函数是内存赋值函数,用来给某一块内存空间进行赋值的: 包含在头文件中,可以用它对一片内存空间逐字节进行初始化: 原型为 : void *memset(void *s, int v, si ...

  7. php touppercase strtoupper,php大小写转换函数(strtolower、strtoupper)用法介绍

    1,将字符串转换成小写 strtolower函数: 该函数将传入的字符串参数所有的字符都转换成小写,并以小定形式放回这个字符串. 例子: $str = "I want To FLY" ...

  8. python的strip、lstrip、rstrip函数的用法和实例

    目录 1.strip函数的用法和实例 (1)语法和用法 ①语法:str.strip([string]) ②用法:替代字符串两边某指定字符. (2)实例 ①简单的用法 ②与if函数结合使用 1.stri ...

  9. VB.NET Mid函数的使用方法详细介绍

    VB.NET Mid函数的使用方法详细介绍 --Mid函数从字符串中返回指定数量的字符. 格式: Mid(string, start[, length]) 理解: 返回string中从start开始的 ...

最新文章

  1. 使用图片方式自定义iOS导航栏navigationItem的backBarButtonItem
  2. Python编程基础:第一节 变量Variables
  3. 提高JS性能注意事项(转载)
  4. 兼容FF,IE的纯CSS下拉菜单
  5. Spring Boot核心配置
  6. python爬取商城数据_Python爬取新版CRMEB小程序商城后台订单数据,保存为excel
  7. java生成可执行文件_关于打包java文件并生成可执行文件的问题
  8. 在IAR下移植CC2650 contiki工程
  9. Office 365 Licence使用情况统计
  10. 目标追踪小任务(基于SIFT,LK光流,ceres)
  11. 验证座机号码是否输入格式正确
  12. 服务器虚拟化有什么好处
  13. 怎么用js代码画一棵树,附带下载链接
  14. springboot社区快递代取服务系统毕业设计源码051434
  15. 5G发展困难,贪婪的手机企业不愿降价,运营商无奈再开4G价格战
  16. 联想拯救者15isk清灰_拯救者15值得买吗?联想拯救者15isk游戏本全面深度评测图解...
  17. 图片添加水印的方法,这个真的很实用!
  18. m.444lu.co show.php,vml圆角矩形最简布局_javascript技巧
  19. 建筑行业是时候进行平行建造的应用了
  20. 时下人间道的生存法则

热门文章

  1. 纪事:最后的足球比赛
  2. 【PostgreSQL】PostgreSQL安装步骤
  3. php 开发桌面应用,使用NW将开发的网站打包成桌面应用
  4. python 列表有没有顺序_python-如何获取列表的所有顺序,以使该列表等于另一个列表?...
  5. dfa matlab用法,关于使用MF-DFA方法计算广义Hurst指数的MATLAB操作问题
  6. 学会Web前端,高薪工作任你挑!
  7. 学习web前端开发大半年,迷茫了,感觉什么都没学会怎么破?
  8. 如何理解HTML结构的语义化?
  9. SQL中的CONSTRAINT用法总结
  10. vue函数如何调用其他函数?_C语言函数学习-函数的嵌套调用