zoukankan      html  css  js  c++  java
  • PHP 自动加载的简单实现(推荐)

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

    文件结构:

    |--Api

      |--Account.php

      |--User.php

    |--Service

      |--Login.php

      |--User.php

    |--Application.php

    Application.php

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <?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

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    namespace Api;
      
    use ServiceLogin;
    class User{
      public function __construct(){
        echo "User类<br/>";
        new Login();
        new Account();
      }
    }

    ApiAccount.php

    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    namespace Api;
      
    class Account{
      public function __construct(){
        echo "Account类<br/>";
      }
    }

    ServiceLogin.php

    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    namespace Service;
      
    class Login{
      public function __construct(){
        echo "Login类<br/>";
      }
    }

    ServiceUser.php

    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    namespace Service;
      
    class User{
      public function __construct(){
        echo "Service下的User类<br/>";
      }
    }

    转自:https://www.cnblogs.com/rxbook/p/9106536.html

  • 相关阅读:
    CTF---隐写术入门第二题 小苹果
    文件上传
    文件读取
    sqlmap之绕过waf思路
    【小技巧分享】如何通过微博图片进行社工Po主
    Windows 11恢复传统右键菜单-2021.10.5正式版
    sql注入之Oracle注入
    CTF之buuctf
    常见sql注入payload
    信息收集之Github
  • 原文地址:https://www.cnblogs.com/jokmangood/p/11705835.html
Copyright © 2011-2022 走看看