奋斗我的青春

spl_autoload_register()实现类的自动加载

发布时间:5个月前热度: 559 ℃评论数:

首先看一下官方对这个函数的说明:

spl_autoload_register ([ callable $autoload_function [, bool $throw = true [, bool $prepend = false ]]] ) : bool
autoload_function

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

throw

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

prepend

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


举个例子

写个dome类文件dome.class.php

class dome{
    function test()
    {
        echo 'test';
    }
}

然后写个测试文件test.php

spl_autoload_register(function ($class) {
    include './' . $class . '.class.php';
});

$a = new dome;

$a->test();

可以看到此方法可以帮我们省略require的过程

访问test.php,然后我们能看到输出了test


若我们把所有需要用到的类放入到一个统一的目录下,在自动装载函数里写好路径就可以实现类的自动加载,从而减少大量繁琐的require操作

php,自动加载,spl_autoload_register

栏目导航

  1. PHP
  2. WEB前端

手机扫码访问