主要函数:spl_autoload_register() — 注册给定的函数作为 __autoload() 的实现

将函数注册到SPL __autoload函数队列中。如果该队列中的函数尚未激活,则激活它们。

如果在你的程序中已经实现了__autoload()函数,它必须显式注册到__autoload()队列中。因为spl_autoload_register()函数会将Zend Engine中的__autoload()函数取代为spl_autoload()spl_autoload_call()

如果需要多条 autoload 函数,spl_autoload_register() 满足了此类需求。 它实际上创建了 autoload 函数的队列,按定义时的顺序逐个执行。相比之下, __autoload() 只可以定义一次。

<?php

// $class 类名
function autoloader_1($class) {
include 'classes/' . $class . '.class.php';
} function autoloader_2($class) {
include 'classes/' . $class . '.class.php';
} // 可以多次使用,但 __autoload() 函数只能使用一次。
spl_autoload_register('autoloader_1');
spl_autoload_register('autoloader_2'); // 或者,自 PHP 5.3.0 起可以使用一个匿名函数
spl_autoload_register(function ($class) {
include 'classes/' . $class . '.class.php';
});

php类的自动加载实例:

index.php文件

<?php

define("BASEDIR", __DIR__);
include BASEDIR . "/app/Loader.php";
// 自动加载类及文件
spl_autoload_register('\\app\\Loader::Autoload');

app目录下的Loader.php文件

<?php

namespace app;

class Loader
{
static function autoload( $class )
{
require BASEDIR . '/' . str_replace('\\', '/', $class) . '.php';
}
}

最新文章

  1. Android中的LinearLayout布局
  2. 别不信!App三年内将被HTML5顶替彻底消失?
  3. java web(三) Tomcat虚拟目录映射方式
  4. C# 编程指南-事件
  5. ORA-12518,TNS:listener could not hand off client connection
  6. PHPCMS二层栏目调用
  7. FeatureClass对象
  8. python比较两个列表
  9. 最常用的UML工具介绍
  10. jsp中文乱码 Servlet中文乱码 utf-8
  11. CentOS 7离线安装CDH 5.16.1完全指南(含各种错误处理)
  12. 吐槽下mac的打印机设置
  13. thinkphp自定义分页类
  14. Redis——非阻塞IO和队列
  15. HDU 1700 Points on Cycle (几何 向量旋转)
  16. [转]验证发生前无法调用 Page.IsValid。应在 CausesValidation=True 且已启动回发的控件
  17. BZOJ5125 小Q的书架(决策单调性+动态规划+分治+树状数组)
  18. Codeforces #447 Div2 E
  19. javascript高级语法三
  20. linux缺页异常处理--用户空间【转】

热门文章

  1. 洛谷P4180 【模板】严格次小生成树[BJWC2010] 题解
  2. javascript学习3、数据类型、数据类型转换、运算符
  3. 《快活帮》第九次团队作业:【Beta】Scrum meeting 2
  4. 使用python处理selenium中的获取元素属性
  5. discuz网站前端代码优化思路
  6. 封装好的cookie的三个常用函数 cookie的添加、删除、提取操作函数
  7. 排序算法-堆排序(Java)
  8. ES6学习笔记--属性名表达式
  9. (知识点1)#pragma once 与 #ifndef 解析
  10. 花了两个星期,我终于把 WSGI 整明白了