自动加载(Autoload)

方式1:
__autoload($className);
方式2:
spl_autoload_register($func1);
spl_autoload_register($func2);
方式3:
spl_autoload($className[, $extensions]);
spl_autoload_extensions();

方式2示例:

则会直接去目录model\Test中自动引入

<?php

use model\Test;

spl_autoload_register(function($className) {
    echo $className;  //model\Test
    include(__DIR__.'/'.str_replace('\\', '/', $className).'.php');
});

$test = new Test();
$test->query();

方式3:

<?php

define('CLASS_DIR', 'class/');

set_include_path(get_include_path().PATH_SEPARATOR.CLASS_DIR);

// autoload ClassName.class.php 
spl_autoload_extensions('.class.php');

// Use default autoload implementation
spl_autoload_register();

Last updated