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 相关文章推荐
从C/C++迁移到PHP——判断字符类型的函数
Oct 09 PHP
windows xp下安装pear
Dec 02 PHP
PHP用GD库生成高质量的缩略图片
Mar 09 PHP
微博短链接算法php版本实现代码
Sep 15 PHP
php判断字符串在另一个字符串位置的方法
Feb 27 PHP
ThinkPHP3.1新特性之多层MVC的支持
Jun 19 PHP
PHP实现UTF-8文件BOM自动检测与移除实例
Nov 05 PHP
php中数字、字符与对象判断函数用法实例
Nov 26 PHP
php实现的mongodb操作类
May 28 PHP
php将服务端的文件读出来显示在web页面实例
Oct 31 PHP
CI框架常用函数封装实例
Nov 21 PHP
PHP使用观察者模式处理异常信息的方法详解
Sep 24 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
改造一台复古桌面收音机
2021/03/02 无线电
利用 window_onload 实现select默认选择
2006/10/09 PHP
php+js实现图片的上传、裁剪、预览、提交示例
2013/08/27 PHP
php支持断点续传、分块下载的类
2016/05/02 PHP
php监测数据是否成功插入到Mysql数据库的方法
2016/11/25 PHP
js 分栏效果实现代码
2009/08/29 Javascript
vs2003 js文件编码问题的解决方法
2010/03/20 Javascript
jquery实现点击弹出层效果的简单实例
2014/03/03 Javascript
js获取当前时间显示在页面上并每秒刷新
2014/12/24 Javascript
jQuery中remove()方法用法实例
2014/12/25 Javascript
jQuery实现加入购物车飞入动画效果
2015/03/14 Javascript
jQuery动画显示和隐藏效果实例演示(附demo源码下载)
2015/12/31 Javascript
javascript中call apply 与 bind方法详解
2016/03/10 Javascript
基于BootStrap Metronic开发框架经验小结【五】Bootstrap File Input文件上传插件的用法详解
2016/05/12 Javascript
JS 对象(Object)和字符串(String)互转方法
2016/05/20 Javascript
原生js的RSA和AES加密解密算法
2016/10/08 Javascript
js select下拉联动 更具级联性!
2020/04/17 Javascript
如何获取vue单文件自身源码路径
2019/05/06 Javascript
Python、Javascript中的闭包比较
2015/02/04 Python
实例Python处理XML文件的方法
2015/08/31 Python
python中如何使用正则表达式的非贪婪模式示例
2017/10/09 Python
python实现机器学习之多元线性回归
2018/09/06 Python
python钉钉机器人运维脚本监控实例
2019/02/20 Python
使用pycharm在本地开发并实时同步到服务器
2019/08/02 Python
基于python读取.mat文件并取出信息
2019/12/16 Python
利用CSS的Sass预处理器(框架)来制作居中效果
2016/03/10 HTML / CSS
欧洲最大的婴幼儿服装及内衣公司:Petit Bateau(小帆船)
2016/08/16 全球购物
Paper Cape官网:美国婴儿和儿童服装品牌
2019/11/02 全球购物
初中语文教学反思
2014/02/02 职场文书
政府绩效管理实施方案
2014/05/04 职场文书
大气污染防治方案
2014/05/19 职场文书
副主任竞聘演讲稿
2014/08/18 职场文书
特岗教师个人总结
2015/02/10 职场文书
2016年植树节红领巾广播稿
2015/12/17 职场文书
MySQL 十大常用字符串函数详解
2021/06/30 MySQL
nginx安装以及配置的详细过程记录
2021/09/15 Servers