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&amp;&amp;mysql)一
Oct 09 PHP
PHP Smarty生成EXCEL文档的代码
Aug 23 PHP
php实现jQuery扩展函数
Oct 30 PHP
PHP中用接口、抽象类、普通基类实现“面向接口编程”与“耦合方法”简述
Mar 23 PHP
ThinkPHP 防止表单重复提交的方法
Aug 08 PHP
php命令行用法入门实例教程
Oct 27 PHP
百度工程师讲PHP函数的实现原理及性能分析(二)
May 13 PHP
php基于session实现数据库交互的类实例
Aug 03 PHP
PHP微信开发之微信消息自动回复下所遇到的坑
May 09 PHP
关于ThinkPhp 框架表单验证及ajax验证问题
Jul 19 PHP
PHP编程获取图片的主色调的方法【基于Imagick扩展】
Aug 02 PHP
PHP按符号截取字符串的指定部分的实现方法
Sep 10 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标准库(PHP SPL)详解
2019/03/16 PHP
php获取微信openid方法总结
2019/10/10 PHP
tp5 sum某个字段相加得到总数的例子
2019/10/18 PHP
jQuery遍历节点树方法分析
2016/09/08 Javascript
Angular的$http与$location
2016/12/26 Javascript
vue双向数据绑定原理探究(附demo)
2017/01/17 Javascript
详解Vue方法与事件
2017/03/09 Javascript
vue.js中mint-ui框架的使用方法
2017/05/12 Javascript
原生JS控制多个滚动条同步跟随滚动效果
2017/12/22 Javascript
Element Input组件分析小结
2018/10/11 Javascript
Jquery $.map使用方法实例详解
2020/09/01 jQuery
微信小程序实现星星评分效果
2020/11/01 Javascript
Vue+Spring Boot简单用户登录(附Demo)
2020/11/12 Javascript
wxpython 最小化到托盘与欢迎图片的实现方法
2014/06/09 Python
跟老齐学Python之list和str比较
2014/09/20 Python
python实现各进制转换的总结大全
2017/06/18 Python
Python3 伪装浏览器的方法示例
2017/11/23 Python
python实时监控cpu小工具
2018/06/21 Python
tensorflow: variable的值与variable.read_value()的值区别详解
2018/07/30 Python
Pytorch 计算误判率,计算准确率,计算召回率的例子
2020/01/18 Python
安装完Python包然后找不到模块的解决步骤
2020/02/13 Python
解决jupyter notebook打不开无反应 浏览器未启动的问题
2020/04/10 Python
Html5与App的通讯方式详解
2019/10/24 HTML / CSS
压铸汽车模型收藏家:Diecastmodelswholesale.com
2016/12/21 全球购物
小蚁科技官方商店:YI Technology
2019/08/23 全球购物
Super-Pharm波兰:药房和香水在一个地方
2020/08/18 全球购物
个人应聘自我评价分享
2013/11/18 职场文书
个人自我评价分享
2013/12/20 职场文书
秋季运动会活动方案
2014/02/05 职场文书
《忆江南》教学反思
2014/04/07 职场文书
安全生产责任书范本
2014/04/15 职场文书
合同范本之电脑出租
2019/08/13 职场文书
php修改word的实例方法
2021/11/17 PHP
Java虚拟机内存结构及编码实战分享
2022/04/07 Java/Android
VUE之图片Base64编码使用ElementUI组件上传
2022/04/09 Vue.js
Win10本地连接不见了怎么恢复? win10系统电脑本地连接不见了解决方法
2023/01/09 数码科技