zoukankan      html  css  js  c++  java
  • 基于PHP规范的自动加载方式(composer配置)

    针对PHP这种编程语言,到目前FIG指定了五个规范,分别如下:

    • PSR0:自动加载;
    • PSR1:基本代码规范;
    • PSR2:代码样式规范;
    • PSR3:日志接口规范;
    • PSR4:自动加载规范;

    看上去PSR4与PSR0是重复了,但是PSR4规范比较干净,可以看成PSR0规范的升级版。二者最重要区别在于:PSR0规范中,下划线会被转换为目录分隔符,但是PSR4中下划线不具有特殊的含义。二者都是通过特定的目录、文件名以及类名,实现快速查找到类文件,并将相应的类加载进来。

    PSR0和PSR4要求有个命名的空间,对上述的ClassTest类做相应的修改如下:

    <?php
    namespace ClassTestLib;
    class ClassTest{
     
        public function test()
        {
            echo "hello world!";
        }
    }

    那么对应的文件的路径应该改为libClassTestLibClassTest.php,此时修改composer.json中的autoload如下:

    "autoload":{
        "psr-0":{
            "ClassTestLib":"lib/"
        }  
    }

    可能你发现psr0的值有一些奇怪,是的。在这里ClassTestLib代表的是命名空间,而"lib"是目录名。加载对应的类文件的时候,搜索的路径是lib/ClassTestLib,而不是ClassTestLib/lib,这是在书写composer.json的时候需要注意的一点。

      如果命名空间中存在着“”,则在书写对应的composer.json的时候需要在相应的“”再添加一个“”。例如,如果命名空间改为ClassTestLib,相应的对应与应用根目录的路径名称应该变为libClassTestLibClassTest.php,对应的composer.json中的autoload应该变为:

    "autoload":{
        "psr-0":{
            "ClassTest\Lib":"lib/"
        }  
    }

    转 :https://www.cnblogs.com/yue-blog/p/5904275.html

  • 相关阅读:
    java 编码问题
    关于时间
    页面
    关于微信
    01-jQuery的介绍
    15-BOM
    14-定时器
    13-JS中的面向对象
    12-关于DOM操作的相关案例
    购物车练习
  • 原文地址:https://www.cnblogs.com/fps2tao/p/7819511.html
Copyright © 2011-2022 走看看