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中支持多种编码的中文字符串截取函数!
Mar 20 PHP
同台服务器使用缓存APC效率高于Memcached的演示代码
Feb 16 PHP
解决ajax+php中文乱码的方法详解
Jun 09 PHP
PHP时间和日期函数详解
May 08 PHP
PHP测试成功的邮件发送案例
Oct 26 PHP
详解php比较操作符的安全问题
Dec 03 PHP
使用WordPress发送电子邮件的相关PHP函数用法解析
Dec 15 PHP
CodeIgniter辅助之第三方类库third_party用法分析
Jan 20 PHP
PHP数组函数知识汇总
May 12 PHP
PHP中$GLOBALS['HTTP_RAW_POST_DATA']和$_POST的区别分析
Jul 03 PHP
PHP基于自定义函数实现的汉字转拼音功能实例
Sep 30 PHP
详解php命令注入攻击
Apr 06 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
PHPMailer发送HTML内容、带附件的邮件实例
2014/07/01 PHP
php实现比较两个文件夹异同的方法
2015/06/18 PHP
PHP中FTP相关函数小结
2016/07/15 PHP
PHP 多任务秒级定时器的实现方法
2018/05/13 PHP
jQuery筛选器children()案例详解(图文)
2013/02/17 Javascript
js对列表中第一个值处理与jsp页面对列表中第一个值处理的区别详解
2013/11/05 Javascript
js统计页面的来访次数实现代码
2014/05/09 Javascript
jQuery filter函数使用方法
2014/05/19 Javascript
js实现仿QQ秀换装效果的方法
2015/03/04 Javascript
jquery实现页面百叶窗走马灯式翻滚显示效果的方法
2015/03/12 Javascript
JavaScript代码实现左右上下自动晃动自动移动
2016/04/08 Javascript
jQuery循环遍历子节点并获取值的方法
2016/04/14 Javascript
基于JavaScript实现Tab选项卡切换效果
2016/11/24 Javascript
浅谈Vue2.0中v-for迭代语法的变化(key、index)
2018/03/06 Javascript
ES6使用新特性Proxy实现的数据绑定功能实例
2020/05/11 Javascript
javascript实现贪吃蛇小练习
2020/07/05 Javascript
[00:56]2014DOTA2国际邀请赛 DK、iG 赛前探访
2014/07/10 DOTA
python学习笔记之列表(list)与元组(tuple)详解
2017/11/23 Python
详解Python异常处理中的Finally else的功能
2017/12/29 Python
Python快速查找list中相同部分的方法
2018/06/27 Python
tensorflow实现加载mnist数据集
2018/09/08 Python
Python:二维列表下标互换方式(矩阵转置)
2019/12/02 Python
Python常用库Numpy进行矩阵运算详解
2020/07/21 Python
Python读取xlsx数据生成图标代码实例
2020/08/12 Python
高中自我评价分享
2013/12/05 职场文书
通用求职信范文模板分享
2013/12/27 职场文书
业务部门经理岗位职责
2014/02/23 职场文书
最新优秀教师个人先进事迹材料
2014/05/06 职场文书
开展批评与自我批评发言材料
2014/05/15 职场文书
工地安全生产标语
2014/06/06 职场文书
2014年计生标语
2014/06/23 职场文书
晚自修旷课检讨书怎么写
2014/11/17 职场文书
单位介绍信格式范文
2015/05/04 职场文书
个人求职意向书
2015/05/11 职场文书
2015年高三班主任工作总结
2015/05/21 职场文书
初中班级口号霸气押韵
2015/12/24 职场文书