PHP 自动加载的简单实现(推荐)


Posted in PHP onAugust 12, 2016

基于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('\\', '/', $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/>";
  }
}

结果:

PHP 自动加载的简单实现(推荐) 

以上这篇PHP 自动加载的简单实现(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
如何获得PHP相关资料
Oct 09 PHP
PHP+DBM的同学录程序(3)
Oct 09 PHP
一个数据采集类
Feb 14 PHP
php gd2 上传图片/文字水印/图片水印/等比例缩略图/实现代码
May 15 PHP
php用户注册页面利用js进行表单验证具体实例
Oct 17 PHP
PhpDocumentor 2安装以及生成API文档的方法
May 21 PHP
smarty中英文多编码字符截取乱码问题解决方法
Oct 28 PHP
PHP上传图片、删除图片简单实例
Nov 12 PHP
解决php 处理 form 表单提交多个 name 属性值相同的 input 标签问题
May 11 PHP
PHP大文件分割上传 PHP分片上传
Aug 28 PHP
PHP实现使用DOM将XML数据存入数组的方法示例
Sep 27 PHP
PHP数组array类常见操作示例
May 15 PHP
py文件转exe时包含paramiko模块出错解决方法
Aug 12 #PHP
PHP url的pathinfo模式加载不同控制器的简单实现
Aug 12 #PHP
PHP命令行执行整合pathinfo模拟定时任务实例
Aug 12 #PHP
谈谈PHP连接Access数据库的注意事项
Aug 12 #PHP
总结PHP中DateTime的常用方法
Aug 11 #PHP
php使用curl详细解析及问题汇总
Aug 11 #PHP
PHP实现四种基础排序算法的运行时间比较(推荐)
Aug 11 #PHP
You might like
PHP 进程锁定问题分析研究
2009/11/24 PHP
php json_encode()函数返回json数据实例代码
2014/10/10 PHP
php实现根据词频生成tag云的方法
2015/04/17 PHP
thinkphp中字符截取函数msubstr()用法分析
2016/01/09 PHP
php opendir()列出目录下所有文件的实例代码
2016/10/02 PHP
Zend Framework数据库操作方法实例总结
2016/12/11 PHP
跟我一起学写jQuery插件开发方法(附完整实例及下载)
2010/04/01 Javascript
正负小数点后两位浮点数实现原理及代码
2013/09/06 Javascript
5个数组Array方法: indexOf、filter、forEach、map、reduce使用实例
2015/01/29 Javascript
详解Koa中更方便简单发送响应的方式
2018/07/20 Javascript
使用JS获取页面上的所有标签
2018/10/18 Javascript
jQuery-App输入框实现实时搜索
2020/11/19 jQuery
[00:43]2016完美“圣”典风云人物:单车宣传片
2016/12/02 DOTA
在Django的视图中使用form对象的方法
2015/07/18 Python
Python运行报错UnicodeDecodeError的解决方法
2016/06/07 Python
Python基于numpy灵活定义神经网络结构的方法
2017/08/19 Python
python3.x 将byte转成字符串的方法
2018/07/17 Python
便捷提取python导入包的属性方法
2018/10/15 Python
如何为Python终端提供持久性历史记录
2019/09/03 Python
用python写测试数据文件过程解析
2019/09/25 Python
python定间隔取点(np.linspace)的实现
2019/11/27 Python
python 数据分析实现长宽格式的转换
2020/05/18 Python
使用jupyter notebook运行python和R的步骤
2020/08/13 Python
python raise的基本使用
2020/09/10 Python
基于Django集成CAS实现流程详解
2020/11/28 Python
jupyter 添加不同内核的操作
2021/02/06 Python
IE9下html5初试小刀
2010/09/21 HTML / CSS
HTML5自定义属性前缀data-及dataset的使用方法(html5 新特性)
2017/08/24 HTML / CSS
Roots加拿大官网:加拿大休闲服饰品牌
2016/10/24 全球购物
美国男士内衣品牌:Tommy John
2017/12/22 全球购物
莫斯科隐形眼镜网上商店:Linzi
2019/07/22 全球购物
酒吧副总经理岗位职责
2013/12/10 职场文书
娱乐节目策划方案
2014/06/10 职场文书
个人工作总结范文2014
2014/11/07 职场文书
2014小学语文教学工作总结
2014/12/17 职场文书
vue实现列表拖拽排序的示例代码
2022/04/08 Vue.js