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获取程序执行的时间
Jun 09 PHP
PHP 输出URL的快捷方式示例代码
Sep 22 PHP
PHP关于IE下的iframe跨域导致session丢失问题解决方法
Oct 10 PHP
php实现批量下载百度云盘文件例子分享
Apr 10 PHP
php+memcache实现的网站在线人数统计代码
Jul 04 PHP
php与flash as3 socket通信传送文件实现代码
Aug 16 PHP
php中fgetcsv()函数用法实例
Nov 28 PHP
typecho插件编写教程(一):Hello World
May 28 PHP
解决更换PHP5.4以上版本后Dedecms后台登录空白问题的方法
Oct 23 PHP
Zend Framework教程之连接数据库并执行增删查的方法(附demo源码下载)
Mar 21 PHP
简单PHP会话(session)说明介绍
Aug 21 PHP
PHP类的自动加载与命名空间用法实例分析
Jun 05 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
使用 MySQL 开始 PHP 会话
2006/12/21 PHP
php excel类 phpExcel使用方法介绍
2010/08/21 PHP
RR vs IO BO3 第一场2.13
2021/03/10 DOTA
js类的静态属性和实例属性的理解
2009/10/01 Javascript
8个实用的jQuery技巧
2014/03/04 Javascript
TypeScript 中接口详解
2015/06/19 Javascript
Bootstrap滚动监听(Scrollspy)插件详解
2016/04/26 Javascript
Node.js websocket使用socket.io库实现实时聊天室
2017/02/20 Javascript
JavaScript学习笔记之惰性函数示例详解
2017/08/27 Javascript
vue兄弟组件传递数据的实例
2018/09/06 Javascript
微信小程序五子棋游戏的悔棋实现方法【附demo源码下载】
2019/02/20 Javascript
使用 vue 实现灭霸打响指英雄消失的效果附demo
2019/05/06 Javascript
[50:28]LGD女子学院第三期 DOTA2复仇之魂教学
2013/12/24 DOTA
Python版微信红包分配算法
2015/05/04 Python
详解Python的Django框架中的模版相关知识
2015/07/15 Python
Python常见格式化字符串方法小结【百分号与format方法】
2016/09/18 Python
Python更新数据库脚本两种方法及对比介绍
2017/07/27 Python
python简单实例训练(21~30)
2017/11/15 Python
Python实现将json文件中向量写入Excel的方法
2018/03/26 Python
python发送告警邮件脚本
2018/09/17 Python
Python多图片合并PDF的方法
2019/01/03 Python
18个Python脚本可加速你的编码速度(提示和技巧)
2019/10/17 Python
python实现从wind导入数据
2019/12/03 Python
手动安装python3.6的操作过程详解
2020/01/13 Python
python和php学习哪个更有发展
2020/06/17 Python
巴西服装和鞋子购物网站:Marisa
2018/10/25 全球购物
限量版运动鞋和街头服饰:TheDrop
2020/09/06 全球购物
高中家长寄语
2014/04/02 职场文书
项目转让协议书
2014/10/27 职场文书
水电工岗位职责
2015/02/14 职场文书
个人催款函范文
2015/06/24 职场文书
欧也妮葛朗台读书笔记
2015/06/30 职场文书
2016参观监狱警示教育活动心得体会
2016/01/15 职场文书
mysql中varchar类型的日期进行比较、排序等操作的实现
2021/11/17 MySQL
Python 恐龙跑跑小游戏实现流程
2022/02/15 Python
Vertica集成Apache Hudi重磅使用指南
2022/03/31 Servers