对spl_autoload_register简单理解
官方解释 http://php.net/manual/zh/function.spl-autoload-register.php
spl_autoload_register — 注册给定的函数作为 __autoload 的实现
bool spl_autoload_register ([ callable $autoload_function [, bool $throw = true [, bool $prepend = false ]]] )
第一个参数 autoload_function 欲注册的自动装载函数。如果没有提供任何参数,则自动注册 autoload 的默认实现函数spl_autoload()。
这个自定义装载函数,接受的参数,就是一个类名称,如果有命名空间的话 这个$className参数的值是: 命名空间/[子命名空间]/类名
spl_autoload_register 除了可以接收一个函数名称,还可以接收一个类的方法spl_autoload_register(array('类名','方法名'))
自己定义的装在函数 需要三个步骤 找到需要的类文件
第一 :确定文件名
第二:确定文件路径
第三:包含这个文件
例子:这里例子有问题 只不过是个样子 明白怎么加载类文件就行了
spl_autoload_register(function ($className){ //第一步确定文件名 第二部确定文件路径 if ($lastNsPos=strripos($className,'\\')) { $namespace = substr($className, 0, $lastNsPos); $className = substr($className, $lastNsPos + 1); $filename = __DIR__.'\\'.$className.'.php'; } require_once $filename; });
浙公网安备 33010602011771号