Home  >  Article  >  Backend Development  >  How to simply implement php automatic loading

How to simply implement php automatic loading

伊谢尔伦
伊谢尔伦Original
2017-07-01 09:23:231499browse

下面就为大家带来一篇PHP 自动加载的简单实现(推荐)。觉得挺不错的,现在就分享给大家,也给大家做个参考。一起过来看看吧

基于psr的规范,使用命名空间和spl_autoload_register()来实现自动加载

文件结构:

|--Api
  |--Account.php
  |--User.php
|--Service
  |--Login.php
  |--User.php

|--Application.php

Application.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(&#39;\\&#39;, &#39;/&#39;, $class);
    $class="./".$class.".php";
    require_once $class;    
  }
}
Application::main();

Api\User.php

<?php
namespace Api;

use Service\Login;
class User{
  public function construct(){
    echo "User类<br/>";
    new Login();
    new Account();
  }
}

Api\Account.php

<?php
namespace Api;

class Account{
  public function construct(){
    echo "Account类<br/>";
  }
}

Service\Login.php

<?php
namespace Service;

class Login{
  public function construct(){
    echo "Login类<br/>";
  }
}

Service\User.php

<?php
namespace Service;

class User{
  public function construct(){
    echo "Service下的User类<br/>";
  }
}

结果:

 

The above is the detailed content of How to simply implement php automatic loading. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn