Home > Backend Development > PHP Tutorial > How to simply implement php automatic loading

How to simply implement php automatic loading

伊谢尔伦
Release: 2023-03-12 08:32:02
Original
1510 people have browsed it

下面就为大家带来一篇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();
Copy after login

Api\User.php

<?php
namespace Api;

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

Api\Account.php

<?php
namespace Api;

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

Service\Login.php

<?php
namespace Service;

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

Service\User.php

<?php
namespace Service;

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

结果:

 

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!

Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template