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语法(4)
Oct 09 PHP
一个程序下载的管理程序(二)
Oct 09 PHP
一步一步学习PHP(1) php开发环境配置
Feb 15 PHP
php从数组中随机抽取一些元素的代码
Nov 05 PHP
PHP输出XML到页面的3种方法详解
Jun 06 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十二)
Jun 25 PHP
ThinkPHP中使用ajax接收json数据的方法
Dec 18 PHP
PHP+jquery实时显示网站在线人数的方法
Jan 04 PHP
PHP页面转UTF-8中文编码乱码的解决办法
Oct 20 PHP
PHP7新特性之抽象语法树(AST)带来的变化详解
Jul 17 PHP
基于ThinkPHP5框架使用QueryList爬取并存入mysql数据库操作示例
May 25 PHP
thinkPHP5.1框架使用SemanticUI实现分页功能示例
Aug 03 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
ThinkPHP的截取字符串函数无法显示省略号的解决方法
2014/06/25 PHP
php几个预定义变量$_SERVER用法小结
2014/11/07 PHP
thinkphp实现发送邮件密码找回功能实例
2014/12/01 PHP
PHP+Mysql+jQuery中国地图区域数据统计实例讲解
2015/10/10 PHP
PHP中使用OpenSSL生成证书及加密解密
2017/02/05 PHP
Yii2.0多文件上传实例说明
2017/07/24 PHP
laravel5.6 框架邮件队列database驱动简单demo示例
2020/01/26 PHP
fireworks菜单生成器mm_menu.js在 IE 7.0 显示问题的解决方法
2009/10/20 Javascript
使用js对select动态添加和删除OPTION示例代码
2013/08/12 Javascript
js动态添加表格数据使用insertRow和insertCell实现
2014/05/22 Javascript
JS中getYear()和getFullYear()区别分析
2014/07/04 Javascript
jQuery div拖拽用法实例
2016/01/14 Javascript
js 弹出对话框(遮罩)透明,可拖动的简单实例
2016/07/11 Javascript
AngularJS服务service用法总结
2016/12/13 Javascript
学习使用jQuery表单验证插件和日历插件
2017/02/13 Javascript
vue实现提示保存后退出的方法
2018/03/15 Javascript
在vue中安装使用vux的教程详解
2018/09/16 Javascript
详解Nodejs get获取远程服务器接口数据
2019/03/26 NodeJs
ECharts地图绘制和钻取简易接口详解
2019/07/12 Javascript
js简单实现自动生成表格功能示例
2020/06/02 Javascript
基于vue中的scoped坑点解说
2020/09/04 Javascript
[10:34]DOTA2上海特级锦标赛全纪录
2016/03/25 DOTA
Python实现判断一行代码是否为注释的方法
2018/05/23 Python
python3.6根据m3u8下载mp4视频
2019/06/17 Python
解决python明明pip安装成功却找不到包的问题
2019/08/28 Python
canvas像素画板的实现代码
2018/11/21 HTML / CSS
HTML5实现动画效果的方式汇总
2016/02/29 HTML / CSS
Html5 canvas实现粒子时钟的示例代码
2018/09/06 HTML / CSS
品酒会策划方案
2014/05/26 职场文书
英语课前三分钟演讲稿
2014/08/19 职场文书
女生抽烟检讨书
2014/10/05 职场文书
老人再婚离婚协议书范本
2014/10/27 职场文书
2014年管理人员工作总结
2014/12/01 职场文书
督导岗位职责范本
2015/04/10 职场文书
Python re.sub 反向引用的实现
2021/07/07 Python
Python必备技巧之字符数据操作详解
2022/03/23 Python