PHP实现类自动加载有两种方法:
一、__autoload();
__autoload是php中的魔术变量 ,在运行php脚本中遇到调用不存在类时会自动调用该方法
例:这里有两个文件
//demo1.php
<?php
class demo1
{
public function test()
{
echo "this is test1";
}
}
//demo2.php
<?php
class demo2
{
public function test()
{
echo "this is test2";
}
}
现在demo1.php 用到 demo2.php文件
//demo1.php文件
<?php
require_once "demo2.php";
//只能用到 require_once include_once ...
用require 或 include时,问题是当我调用多个类时候,如果每个文件都写require include 这样会导致我们的代码很冗余。
现在我们用PHP中的魔术变量__autoload();现在自动加载类文件
<?php
function __autoload($className)
{
if (file_exists('./' . $className . "php")) {
require_once($fileName);
} else {
exit('找不到' . $className . "文件");
}
}
demo2::test();