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

    <?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/>";
      }
    }

    结果:

    image.png

  • 相关阅读:
    面向对象与类
    引用数据类型
    方法
    java for 语句的用法
    java 数组
    Scanner与Random
    java基本语法
    java介绍及安装。
    数据库设计
    NFS相关、NFS服务端安装配置、exportfs命令、nfs客户端的问题
  • 原文地址:https://www.cnblogs.com/rxbook/p/9106536.html
Copyright © 2011-2022 走看看