基于psr的规范,使用命名空间和spl_autoload_register()来实现自动加载
文件结构:
|--Api
  |--Account.php
  |--User.php
|--Service
  |--Login.php
  |--User.php
|--Application.php
Application.php
<?php
use ApiUser;
use ServiceUser 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();
ApiUser.php
<?php
namespace Api;
use ServiceLogin;
class User{
  public function __construct(){
    echo "User类<br/>";
    new Login();
    new Account();
  }
}
ApiAccount.php
<?php
namespace Api;
class Account{
  public function __construct(){
    echo "Account类<br/>";
  }
}
ServiceLogin.php
<?php
namespace Service;
class Login{
  public function __construct(){
    echo "Login类<br/>";
  }
}
ServiceUser.php
<?php
namespace Service;
class User{
  public function __construct(){
    echo "Service下的User类<br/>";
  }
}
结果:
以上这篇PHP 自动加载的简单实现(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。