PSR-0规范

[1]命名空间必须与绝对路径一致
[2]类名首字母必须大写
[3]除去入口文件外,其他“.php”必须只有一个类
[4]php类文件必须自动载入,不采用include等
[5]单一入口

实例源码下载:链接:https://pan.baidu.com/s/1dFjgUnJ 密码:xq07

代码如下:

index.php

<?php
define('BASEDIE',__DIR__);
require_once('Config/Loader.php');
spl_autoload_register('\\Config\\Loader::autoload');//注册自动加载
Config\Object::test();//命名空间调用Object
App\Index::test();//命名空间调用Index
App/Index.php

<?php
namespace App; class Index{
static function test(){
echo "APP INDEX";
}
}
Config/Loader.php

<?php
namespace Config; class Loader{
static function autoload($class)
{
require_once(BASEDIE.'/'.str_replace('\\','/',$class).'.php');
}
}
Config/Object.php

<?php
namespace Config; class Object{
static function test(){
echo "OBJECT";
} }

结果如下:

PSR-0 规范实例讲解 -- php 自动加载的更多相关文章

  1. PSR-4 规范实例讲解 -- php 自动加载

    参考 参考文档:https://www.kancloud.cn/thinkphp/php-fig-psr/3144 参考实例:https://github.com/php-fig/fig-standa ...

  2. 如何自动加载scratch3.0的页面上实现自动加载原有的作品

    首先,我们在安装scratch3.0后,浏览器默认打开的是编程的页面.如下图: 那么我们希望开发一个功能,就是打开的时候默认加入某一个SB3的开发文件 1.首先,我们需要有一个.SB3的开发文件,建议 ...

  3. 阻止YII 1.0自动加载内置JQUERY库

    有些时候我们会在项目中用到很多js库, 因为Yii 1.0框架会默认自动加载一些自带核心库, 很容易引起冲突问题, 下面的代码就展示了如何在Yii 1.0框架下取消jQuery自动加载. Open C ...

  4. Laravel 执行流程(一)之自动加载

    定位 从 public/index.php 定位到 bootstrap/autoload.php 从 bootstrap/autoload.php 定位到 vendor/autoload.php 从 ...

  5. composer的自动加载机制(autoload)

    composer的出现真是让人们眼前一亮,web开发从此变成了一件很『好玩』的事情,开发一个CMS就像在搭积木,从packagist中取出『积木』搭建在自己的代码中,一点一点搭建出一个属于自己的王国. ...

  6. composer的autoload来自动加载自己编写的函数库与类库?

    1.使用命令composer init生成composer.json文件,并编辑autoload选项内容如下: 其中又包含主要的两个选项: files 和 psr-4. files就是需要compos ...

  7. 【PSR规范专题(5)】PSR-4 改进后的自动加载规范

    本文转自: https://github.com/PizzaLiu/PHP-FIG/blob/master/PSR-4-autoloader-cn.md 关键词 "必须"(&quo ...

  8. PHP 自动加载规范PSR-4

    .note-content { font-family: "Helvetica Neue", Arial, "Hiragino Sans GB", STHeit ...

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

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

随机推荐

  1. CentOS查看和修改PATH环境变量的方法 profile

    https://blog.csdn.net/dongheli/article/details/83987092

  2. Column 'parent_id' specified twice

    Hibernate Column 'parent_id' specified twice问题解决--insertable = false, updatable = false的使用 - shendeg ...

  3. 通过修改Tomcat配置,解决乱码问题

    贴图,问题如下: tomcat使用的默认编码方式是iso8859-1 修改tomcat下的conf/server.xml文件 找到如下代码:    <Connector port="8 ...

  4. rem 适配

    postcss-pxtorem 是一款 postcss 插件,用于将单位转化为 rem lib-flexible 用于设置 rem 基准值 一.webpact postcss 插件将px转化为rem单 ...

  5. mysql5.7以上安装

    下载:https://dev.mysql.com/downloads/mysql/ 1.在解压的mysql下(bin目录统计),创建my.ini 文件,内容日下(路径根据自己的目录修改) [mysql ...

  6. build/temp.linux-x86_64-2.7/_openssl.c:493:30: fatal error: openssl/opensslv.h: No such file or directory

    解决:apt-get install libssl-dev apt install python-dev(这个可能和那个错误关系不大)

  7. DBC格式解析(数据部分)

    dbc格式说明:DBC Format   实战: 我们先来看一段数据 BO_ VOLTAGE01: BMS2 SG_ V01 : |@+ () [|] "" Vector__XXX ...

  8. Maven最佳实战

    Maven中内置的隐藏变量: http://www.cnblogs.com/quanyongan/category/471332.html Maven提供了三个隐式的变量可以用来访问环境变量,POM信 ...

  9. orcale三表连接查询

    SELECT w.ZDBH,w.HEATINGANDAIRCONDITIONERID,  w.ZDMC,  w.CZBH,  w.CZMC,  w.CNXS,  w.ND,  w.KTJF,  w.K ...

  10. time模块 转换关系图

    import time t = time.time() #获取目前时间 t_struck = time.localtime(t) #time.gmtime() utc时区 t_str = time.s ...