<?php
//例子1
//__autoload这个函数不常用
function __autoload($className)//2.通过这个函数把需要的类名传递进去
{
require $className . ".php"; //3.把类名传递进来以后与后面的.php做拼接.来实现类文件的引入
}
$user = new User();//1.当实例化User类的时候,发现没有这个类.这是就会函数把User这个名字传到__autoload函数中去.
var_dump($user);
//例子2
//spl_autoload_register 这个函数比较常用
function spl_autoload_register(function($className){
require $className . ".php";
});
$user = new User();
var_dump($user);
//例子3
function test($className){
require $className . ".php";
}
spl_autoload_register('test');
$user = new User();
var_dump($user);
//例子4
class Momo
{
function autoload($className)
{
require $className . ".php";
}
}
spl_autoload_register([new Momo, 'autoload']);
$user = new User();
var_dump($user);
//例子5
spl_autoload_register(function($className){
//把传入的models\Imooc中的反斜线转换成正斜线/这样就拼接出了文件名和文件路径
include str_replace("\\", "/", $className.".php");
});
$imooc = new models\Imooc();
var_dump($imooc);