• 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

  • 相关阅读:
    关于如何实现接口IComparer以实现自己需要的排序规则
    随机移动
    关于资源版本管理的问题
    Unity3D内部脚本编程入门
    删除GameObject上除了Quality子物体之外其他子物体的组件(但不删除transform)
    资料
    c# 基础知识点
    c# 匿名方法(委托)
    git
    一篇关于Unity3D优化的文章,翻译脚本优化部分
  • 原文地址:https://www.cnblogs.com/jokmangood/p/11705835.html
Copyright © 2020-2023  润新知