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如何编写易读的代码
Jul 10 PHP
php数组函数序列之next() - 移动数组内部指针到下一个元素的位置,并返回该元素值
Oct 31 PHP
php多文件上传功能实现原理及代码
Apr 18 PHP
PHP中spl_autoload_register函数的用法总结
Nov 07 PHP
PHP中使用gettext解决国际化问题的例子(i18n)
Jun 13 PHP
浅谈PHP中foreach/in_array的使用
Nov 02 PHP
PHP封装的XML简单操作类完整实例
Nov 13 PHP
通过源码解析Laravel的依赖注入
Jan 22 PHP
PHP封装的分页类与简单用法示例
Feb 25 PHP
PHP实现数据四舍五入的方法小结【4种方法】
Mar 27 PHP
tp5(thinkPHP5框架)时间查询操作实例分析
May 29 PHP
PHP使用phpunit进行单元测试示例
Sep 23 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
星际争霸, 教主第一视角, ZvT经典龙蛇演义
2020/03/02 星际争霸
使用php判断网页是否gzip压缩
2013/06/25 PHP
php生成RSS订阅的方法
2015/02/13 PHP
Windows下编译PHP5.4和xdebug全记录
2015/04/03 PHP
详解thinkphp5+swoole实现异步邮件群发(SMTP方式)
2017/10/13 PHP
PHP unlink与rmdir删除目录及目录下所有文件实例代码
2018/02/07 PHP
ThinkPHP防止重复提交表单的方法实例分析
2018/05/10 PHP
Laravel 队列使用的实现
2019/01/08 PHP
PHP设计模式(九)外观模式Facade实例详解【结构型】
2020/05/02 PHP
屏蔽鼠标右键、Ctrl+n、shift+F10、F5刷新、退格键 的javascript代码
2007/04/01 Javascript
JQuery 动态扩展对象之另类视角
2010/05/25 Javascript
鼠标移到导航当前位置的LI变色处于选中状态
2013/08/23 Javascript
jquery实现手风琴效果实例代码
2013/11/15 Javascript
常用的JavaScript模板引擎介绍
2015/02/28 Javascript
JS实现随页面滚动显示/隐藏窗口固定位置元素
2016/02/26 Javascript
JavaScript中日期函数的相关操作知识
2016/08/03 Javascript
jquery日历插件e-calendar升级版
2016/11/10 Javascript
Vue.js展示AJAX数据简单示例讲解
2017/03/29 Javascript
使用html+js+css 实现页面轮播图效果(实例讲解)
2017/09/21 Javascript
vue2.0.js的多级联动选择器实现方法
2018/02/09 Javascript
laydate如何根据开始时间或者结束时间限制范围
2018/11/15 Javascript
加快Vue项目的开发速度的方法
2018/12/12 Javascript
详解a标签添加onclick事件的几种方式
2019/03/29 Javascript
JavaScript实现滑动门效果
2020/01/18 Javascript
[01:09]2014DOTA2国际邀请赛 TI4西雅图DOTA2 中国美女coser加油助威
2014/07/20 DOTA
[54:43]DOTA2-DPC中国联赛 正赛 CDEC vs Dynasty BO3 第一场 2月22日
2021/03/11 DOTA
HTML中使用python屏蔽一些基本功能的方法
2017/07/07 Python
python实现电子产品商店
2019/02/26 Python
Python-Seaborn热图绘制的实现方法
2019/07/15 Python
python爬虫中PhantomJS加载页面的实例方法
2020/11/12 Python
俄罗斯最大的消费电子连锁零售商:Mvideo
2017/06/25 全球购物
css animation配合SVG制作能量流动效果
2021/03/24 HTML / CSS
2014年团支书工作总结
2014/11/14 职场文书
初中毕业生自我评价
2015/03/02 职场文书
2015小学语文教师个人工作总结
2015/05/20 职场文书
CSS实现两列布局的N种方法
2021/08/02 HTML / CSS