spl_autoload_register()实现PHP自动加载

spl_autoload_register()官方原版解释:

spl_autoload_register — 注册给定的函数作为 __autoload 的实现

spl_autoload_register()实现PHP自动加载
函数体:spl_autoload_register ([ callable $autoload_function [, bool $throw = true [, bool $prepend = false ]]] ) : bool

函数具体含义介绍移步php官方介绍spl_autoload_register
下面主要记录一下用法:
spl_autoload_register()第一个参数可以是函数体、字符串、或数组,传入的方法自动注册作为__autoload的实现,当实例化没有引入的类时,会自动抛出该类的命名空间地址。

<?php
namespace dedenoob;
class Autoloader
{
    public static function Loader($class)
    {
        $file = DEDENOOBPATH.'/'.$class.'.php';
        include_once($file);
    }
}

上方可以写一个类自定义Loader方法include_once文件,然后再入口文件使用spl_autoload_register将该方法注册为自动加载函数.(上面没有对路径斜线进行处理,Linux可能会报错误)

<?php
include_once('./dedenoob/Autoloader.php');
spl_autoload_register('\dedenoob\Autoloader::Loader');

传入数组写法,数组第一个值为需要实例化的类,第二个值为方法名。也可以直接将Loader方法体写在spl_autoload_register中

原创文章,作者:的的录,如若转载,请注明出处:https://www.dedenoob.com/php/king/39.html
-- 展开阅读全文 --
对象云储存的镜像回源,以阿里云OSS回源为例
« 上一篇 11-14

发表评论