基于psr的规范,使用命名空间和spl_autoload_register()来实现自动加载
文件结构:
|--Api |--Account.PHP |--User.PHP |--Service |--Login.PHP |--User.PHP
|--Application.PHP
Application.PHP
PHP;">
PHP
use Api\User;
use Service\User as User2;
class Application{
public static function main(){
self::registe();
new User();
new User2();
}
public static function registe(){
spl_autoload_register("Application::loadClass");
}
public static function loadClass($class){
$class=str_replace('\\','/',$class);
$class="./".$class.".PHP";
require_once $class;
}
}
Application::main();
Api\User.PHP
PHP;">
PHP
namespace Api;
use Service\Login;
class User{
public function __construct(){
echo "User类
";
new Login();
new Account();
}
}
Api\Account.PHP
PHP;">
PHP
namespace Api;
class Account{
public function __construct(){
echo "Account类
";
}
}
Service\Login.PHP
PHP;">
PHP
namespace Service;
class Login{
public function __construct(){
echo "Login类
";
}
}
Service\User.PHP
PHP;">
PHP
namespace Service;
class User{
public function __construct(){
echo "Service下的User类
";
}
}
结果:
以上这篇PHP 自动加载的简单实现(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程之家。