PHP面向对象之类自动加载

使用__autoload()函数自动加载类,老版本PHP用法

注意,新版本PHP,已经停止使用此方法

function __autoload($className) {                            //声明一个自动加载类的函数
    include("class_" . ucfirst($className) . ".php");         //使用include包含类所在的文件
}

$obj  = new User();      //User类不存在则自动调用__autoload()函数,将类名“User”做为参数传入
$obj2 = new Shop();    //Shop类不存在则自动调用__autoload()函数,将类名“Shop”做为参数传入

新版本PHP自动加载方法


function autoload($classname){
    //echo $classname;
    $class = $classname.".class.php";
    require($class);
}

//注册自动加载函数
spl_autoload_register("autoload");


$oop = new Oop();
$oop->test();


$upload = new Upload();
$upload->test();
//Oop.class.php
<?php
class Oop{
    function test(){
        echo "123";
    }
}
//Upload.class.php
class Upload{
    function test(){
        echo "upload";
    }
}