比__autoload 更灵活的 spl_autoload_register 用法

来源:互联网 发布:模拟考试软件下载 编辑:程序博客网 时间:2024/05/19 18:40

直接上代码了:

<?phpfunction loadclass( $class ) { $file = $class . '.php'; if (is_file($file)) {  require_once($file); }}spl_autoload_register( 'loadclass' );$obj = new Test1();$obj->TestFunction();?>

以上php代码有一个函数loadclass有一个参数class;
file变量为class变量+php后缀;
判断是否存在这个文件,如果存在那么就引入。

接下来使我们spl_autoload_register函数,这个函数在我们如果新建一个类,但是这个类并没有在当前文件声明,或者是未包含的情况。言而总之就是说当这个类引用不到的情况下将会调用;换一个词说就是会触发这个函数。

我们看我们下一行我们new Test1这个类,可是我们在这里没有声明,那么将会触发spl_autoload_register函数执行loadclass方法,那么在这里loadclass方法将会传入一个class,那么这个class就是我们的Test1这个字符串,因为我们new的这个变量是Test1这个类。

那么将这个类引入到当前文件后,那么我们调用就没问题了,我们下面列出我们的Test1类中内容:

<?phpclass Test1 {  function TestFunction() {  echo 'hello world'; }}

运行如下:
运行结果

1 0
原创粉丝点击