PHP可以通过自动加载的方式帮助我们加载文件
假设目录结构如下:
test (工程名称)
--app
--QueryPhone.php
index.php
■不使用自动加载时
QueryPhone.php
<?php
class QueryPhone {
public static function query() {
echo 'query phone';
}
}
?>
<?php
require_once 'app/QueryPhone.php';
QueryPhone::query();
?>
为了使用QueryPhone中的函数,需要在文件头部通过require_once引入需要的文件。如果依赖多个文件,则要引入多个。
■使用自动加载
假设目录结构如下:
test (工程名称)
--app
--QueryPhone.php
index.php
autoload.php (为了使用自动加载,新追加的文件)
QueryPhone.php(追加了命名空间)
<?php
namespace app;
class QueryPhone {
public static function query() {
echo 'query phone';
}
}
?>
index.php(只引入autoload.php就可以了,以后即使再追加其他的依赖,仅此一个也够了)
<?php
require_once 'autoload.php';
app\QueryPhone::query();
?>
autoload.php
<?php
class autoload {
public static function load($className) {
$fileName = sprintf('%s.php', str_replace('\\', '/', $className));
if (is_file($fileName)) {
require_once $fileName;
}
}
}
spl_autoload_register(['autoload', 'load']);
?>