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 相关文章推荐
基于文本的访客签到簿
Oct 09 PHP
Cakephp 执行主要流程
Mar 24 PHP
PHP XML数据解析代码
May 26 PHP
PHP 实现explort() 功能的详解
Jun 20 PHP
php不使用插件导出excel的简单方法
Mar 04 PHP
ThinkPHP CURD方法之page方法详解
Jun 18 PHP
php检测数组长度函数sizeof与count用法
Nov 17 PHP
PHP实现简单实用的验证码类
Jul 29 PHP
php实现的农历算法实例
Aug 11 PHP
PHP利用APC模块实现大文件上传进度条的方法
Oct 29 PHP
PHP+MySQL实现模糊查询员工信息功能示例
Jun 01 PHP
laravel ajax curd 搜索登录判断功能的实现
Apr 17 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/11/25 PHP
浅谈php命令行用法
2015/02/04 PHP
PHP模糊查询技术实例分析【附源码下载】
2019/03/07 PHP
能说明你的Javascript技术很烂的五个原因分析
2011/10/28 Javascript
jquery.messager.js插件导致页面抖动的解决方法
2013/07/14 Javascript
$.get获取一个文件的内容示例代码
2013/09/11 Javascript
用js控制组织结构图可以任意拖拽到指定位置
2014/01/17 Javascript
JS简单实现动画弹出层效果
2015/05/05 Javascript
简介AngularJS中使用factory和service的方法
2015/06/17 Javascript
javascript如何写热点图
2015/12/08 Javascript
Bootstrap树形控件使用方法详解
2016/01/27 Javascript
JS函数的定义与调用方法推荐
2016/05/12 Javascript
jQuery 3.0 的 setter和getter 模式详解
2016/07/11 Javascript
jQuery.ajax向后台传递数组问题的解决方法
2017/05/12 jQuery
npm 更改默认全局路径以及国内镜像的方法
2018/05/16 Javascript
详解Vue中的scoped及穿透方法
2019/04/18 Javascript
vue配置文件实现代理v2版本的方法
2019/06/21 Javascript
详解vue为什么要求组件模板只能有一个根元素
2019/07/22 Javascript
[01:14:05]《加油DOTA》第四期
2014/08/25 DOTA
Python的subprocess模块总结
2014/11/07 Python
python实现学生信息管理系统
2020/04/05 Python
Python socket实现的简单通信功能示例
2018/08/21 Python
Python实现将字符串的首字母变为大写,其余都变为小写的方法
2019/06/11 Python
基于pycharm实现批量修改变量名
2020/06/02 Python
python如何对链表操作
2020/10/10 Python
css3使网页、图片变成灰色兼容大多数浏览器
2014/07/02 HTML / CSS
大学生职业生涯规划书模板
2014/01/03 职场文书
缓刑人员的思想汇报
2014/01/11 职场文书
人力资源部经理岗位职责规定
2014/02/23 职场文书
大课间体育活动方案
2014/03/12 职场文书
乡镇食品安全责任书
2014/07/28 职场文书
学习党的群众路线教育实践活动剖析材料
2014/10/13 职场文书
公路施工安全责任书
2015/05/08 职场文书
2016秋季田径运动会广播稿
2015/12/21 职场文书
机关单位2016年创先争优活动总结
2016/04/05 职场文书
python自动化调用百度api解决验证码
2021/04/13 Python