PSR-0规范是什么

命名空间与绝对路径一致

类名首字母大写

除入口文件外,其他PHP文件必须只有一个类

建立目录结构

---App
------Controller
---------Home
------------Index.php
---All
------Object.php
------Loader.php
---index.php

上面是本框架的目录结构。

自动载入

\App\Controller\Home\Index.php源代码如下:

<?php
//命名空间与绝对路径一致
namespace Apps\Controller\Home;
Class Index{public static function test(){echo __METHOD__;}
}

\All\Object.php的源代码如下:

<?php
namespace All;
Class Object{public static function test(){echo __METHOD__;}
};

\All\Loader.php是一个自动加载类:

<?php
namespace All;
class Loader{public static function autoload($className){$className=str_replace("\\",'/',$className);//BASEDIR是在index.php中定义的require BASEDIR.'/'.$className.".php";}
}

index.php中的源代码如下:

<?php
define("BASEDIR",__DIR__);
//加载Loader.php文件
include BASEDIR.'/Imooc/Loader.php';
//使用此函数注册autoload
spl_autoload_register("\\Imooc\\Loader::autoload");
//会把Apps\Controller\Home\Index传入注册的autoload函数,从而自动加载Apps\Controller\Home\Index这个类
Apps\Controller\Home\Index::test();
Imooc\Object::test();

自动载入实战---构造一个PSR-0的简易框架相关推荐

  1. 使用TextInputLayout分分钟构造一个酷炫登录框架

    Google在2015的IO大会上,给我们带来了更加详细的Material Design设计规范,同时,也给我们带来了全新的Android Design Support Library,Android ...

  2. 露雨资源库三(第一个.net2.0软件)-为控件增加自动完成功能

    前面我写过"露雨资源库"的第一篇和第二篇,分别介绍了界面设计和设计思路. 链接如下: 露雨资源库(第一个.net2.0软件)一 http://luyu.cnblogs.com/ar ...

  3. 给定一个随机数生成器(0,1),构造一个随机数生成器(0,4)

    现给定一个随机数生成器range2(),可等概率的生成0和1,现如何构造一个随机数生成器range5(),可等概率的生成0,1,2,3,4. 目前有个有点low的想法: 因为现在已有可生成0,1的随机 ...

  4. 初学编译原理——构造一个DFA,它接受字母表∑={0,1}上能被能5整除的二进制数

    题目:构造一个DFA,它接受字母表∑={0,1}上能被能5整除的二进制数 解析如下: 注意,我们要明白DFA是一个一个数字扫描的,比如二进制数字101,其先扫描的字符是1,接下来是0,最后是1. 要求 ...

  5. 效果良好!构造一个输入速度的神经网络,以DQN方式实现小游戏的自动控制

    在之前的文章中,我们做了如下工作: 如何设计一个类flappy-bird小游戏:[python实战]使用pygame写一个flappy-bird类小游戏 | 设计思路+项目结构+代码详解|新手向 DF ...

  6. 构造一个简单的神经网络,以DQN方式实现小游戏的自动控制

    在之前的文章中,我们做了如下工作: 如何设计一个类flappy-bird小游戏:[python实战]使用pygame写一个flappy-bird类小游戏 | 设计思路+项目结构+代码详解|新手向 DF ...

  7. 大话PHP设计模式:类自动载入、PSR-0规范、链式操作、11种面向对象设计模式实现和使用、OOP的基本原则和自动加载配置...

    一.类自动载入 SPL函数 (standard php librarys) 类自动载入,尽管 __autoload() 函数也能自动加载类和接口,但更建议使用 spl_autoload_registe ...

  8. 实战Spring Boot 2.0系列(一) - 使用Gradle构建Docker镜像

    前言 通常我们使用 Dockerfile 来构建项目的 Docker 镜像.但是也有使用 gradle 在编译项目的时候一起把镜像给 构建 并 上传 的需求.本文将会讲解如何使用 gradle 编写并 ...

  9. php 类加载其它类,PHP 命名空间 namespace / 类别名 use / 框架自动载入 机理的

    相比 PHP5.2 版本 PHP5.3 新增了三大主要新特性 命名空间 延迟静态绑定 lambda匿名函数 命名空间的出现也使PHP可以更加合理的组织项目结构,同时通过命名空间和自动载入机制一大批 P ...

最新文章

  1. 2021-2027年中国手机结构件行业投资分析及发展战略研究咨询报告
  2. mysql创建外键的表_Mysql表创建外键报错解决方案
  3. 网站前端和后台性能优化1
  4. 【C语言】动态分配二维字符串数组
  5. 工业交换机的几大“择机”标准,你学会了吗?
  6. 给定没有重复数字的序列,将其全排列
  7. Blah数集(信息学奥赛一本通-T1333)
  8. 快速排序 - python版超详细讲解
  9. 腾跃计算机二级vfp培训,计算机二级:在VFP中实现进度条
  10. topcoder srm 661 div1
  11. [第5天]nginx环境下404问题
  12. 层次选择器[selector_2.html]
  13. 二维树状数组 探索进行中
  14. xencenter教程
  15. MODSCAN32的应用
  16. Windows 有哪些冷门但是非常值得推荐的软件?
  17. 计算机无法检测电池损耗怎么办,笔记本电脑电池损耗怎么修复 笔记本电脑电池损耗修复方法...
  18. 【操作指导】安捷伦数据采集器开机自检/通讯接口设置说明
  19. 全类销项发票电子化管理系统:iBox+RPA的开票流程数字化
  20. 关于涉及到区间类型数值的缓存

热门文章

  1. BIRT 中如何根据参数动态拼接 SQL
  2. this.$emit is not a function
  3. python爬虫爬取彼岸图网图片
  4. 人生:中国青年女科学家颜宁教授:不向前走,你根本不能轻易定义成功与失败
  5. Week 2 - Wed. Thu.
  6. 《元宇宙发展与治理》课题调研 齐心构建“元宇宙世界”蓝图
  7. html调用高德地图得到城市,高德地图API获取行政区域
  8. Unity 之 解决包体过大问题记录和纹理相关知识点整理
  9. 日本电子企业败走世界舞台的真假面
  10. 【场景化能力包】满足不同场景使用的解决方案