龙空技术网

31、spl_autoload_register运行机制

iamasb 166

前言:

眼前咱们对“php spl_autoload_register”可能比较关心,兄弟们都想要分析一些“php spl_autoload_register”的相关知识。那么小编同时在网络上网罗了一些有关“php spl_autoload_register””的相关文章,希望姐妹们能喜欢,我们快快来了解一下吧!

1、源码

<?php

/**

* Copyright (C) Iamasb

* @project : 3、workerman相关知识点

* @explain : 类加载器运行机制

* @filename : 9、类加载器运行机制.php

* @author : iamasb

*/

class Load

{

/**

* 文件格式常量

*/

const PREFIX = ".php";

/**

* 处理类文件加载的核心方法

* @param $className

* @return bool

*/

public static function toDo($className)

{

echo __METHOD__,'-->',$className,PHP_EOL;

}

/**

* 处理类文件加载的核心方法

* @param $className

* @return bool

*/

public static function toDo1($className)

{

echo __METHOD__,'-->',$className,PHP_EOL;

}

/**

* 处理类文件加载的核心方法

* @param $className

* @return bool

*/

public static function toDo2($className)

{

echo __METHOD__,'-->',$className,PHP_EOL;

}

}

spl_autoload_register('Load::toDo');

spl_autoload_register('Load::toDo1');

spl_autoload_register('Load::toDo2');

$test = new TestClass();

2、执行结果

从打印的结果可以看出,信息输出是与执行spl_autoload_register函数是成正比的。即先执行spl_autoload_register函数就会先触发该回调函数。类似数据结构中的队列。

3、修改spl_autoload_register调用参数,并再次执行代码修改

spl_autoload_register('Load::toDo',true,true);

spl_autoload_register('Load::toDo1',true,true);

spl_autoload_register('Load::toDo2',true,true);

执行结果4、总结默认情况,spl_autoload_register是以队列的方式,依次调用回调方法。但可以设置,让其是栈的方式执行

标签: #php spl_autoload_register