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守护进程 加linux命令nohup实现任务每秒执行一次
Jul 04 PHP
通过PHP current函数获取未知字符键名数组第一个元素的值
Jun 24 PHP
PHP实现获取FLV文件的时间
Feb 10 PHP
以文件形式缓存php变量的方法
Jun 26 PHP
PHP不使用递归的无限级分类简单实例
Nov 05 PHP
PHP多维数组元素操作类的方法
Nov 14 PHP
PHP使用mysqli操作MySQL数据库的简单方法
Feb 04 PHP
Yii2汉字转拼音类的实例代码
Apr 18 PHP
Laravel 5使用Laravel Excel实现Excel/CSV文件导入导出的功能详解
Oct 11 PHP
thinkphp5框架扩展redis类方法示例
May 06 PHP
PHP判断一个变量是否为整数、正整数的方法示例
Sep 11 PHP
PHP强制转化的形式整理
May 22 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
全国FM电台频率大全 - 18 湖南省
2020/03/11 无线电
PHP SEO优化之URL优化方法
2011/04/21 PHP
PHP根据传来的16进制颜色代码自动改变背景颜色
2014/06/13 PHP
编写PHP脚本过滤用户上传的图片
2015/07/03 PHP
PHP如何通过传引用的思想实现无限分类(代码简单)
2015/10/13 PHP
详解php比较操作符的安全问题
2015/12/03 PHP
老司机传授Ubuntu下Apache+PHP+MySQL环境搭建攻略
2016/03/20 PHP
PHP通过bypass disable functions执行系统命令的方法汇总
2018/05/02 PHP
PHP将整数数字转换为罗马数字实例分享
2019/03/17 PHP
js中的window.open返回object的错误的解决方法
2009/08/15 Javascript
纯js实现背景图片切换效果代码
2010/11/14 Javascript
AngularJS中使用HTML5手机摄像头拍照
2016/02/22 Javascript
深入浅析javascript中的作用域(推荐)
2016/07/19 Javascript
webpack里使用jquery.mCustomScrollbar插件的方法
2018/05/30 jQuery
vuex提交state&amp;&amp;实时监听state数据的改变方法
2018/09/16 Javascript
vue实现双向绑定和依赖收集遇到的坑
2018/11/29 Javascript
jQuery实现获取当前鼠标位置并输出功能示例
2019/01/05 jQuery
vue的for循环使用方法
2019/02/12 Javascript
JavaScript深入V8引擎以及编写优化代码的5个技巧
2019/06/24 Javascript
vue实现吸顶、锚点和滚动高亮按钮效果
2019/10/21 Javascript
javascript中contains是否包含功能实现代码(扩展字符、数组、dom)
2020/04/07 Javascript
vue 监听窗口变化对页面部分元素重新渲染操作
2020/07/28 Javascript
微信小程序实现分页加载效果
2020/11/19 Javascript
[01:00:10]完美世界DOTA2联赛PWL S2 FTD vs Inki 第二场 11.21
2020/11/24 DOTA
Python 可爱的大小写
2008/09/06 Python
python ansible服务及剧本编写
2017/12/29 Python
简述Python2与Python3的不同点
2018/01/21 Python
python使用TensorFlow进行图像处理的方法
2018/02/28 Python
django+mysql的使用示例
2018/11/23 Python
Python File(文件) 方法整理
2019/02/18 Python
Python大数据之从网页上爬取数据的方法详解
2019/11/16 Python
python 比较字典value的最大值的几种方法
2020/04/17 Python
在校生钳工实习自我鉴定
2013/09/19 职场文书
社保代办委托书怎么写
2014/10/06 职场文书
六一文艺汇演开幕词
2015/01/29 职场文书
Redisson实现Redis分布式锁的几种方式
2021/08/07 Redis