首先看一下官方对这个函数的说明:
1 | 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
1 | class dome{ |
然后写个测试文件test.php
1 | spl_autoload_register(function ($class) { |
可以看到此方法可以帮我们省略require的过程
访问test.php,然后我们能看到输出了test
若我们把所有需要用到的类放入到一个统一的目录下,在自动装载函数里写好路径就可以实现类的自动加载,从而减少大量繁琐的require操作