美文网首页
composer自动载入的四种方式

composer自动载入的四种方式

作者: 大也也 | 来源:发表于2019-03-02 10:08 被阅读0次

    composer 是PHP的包依赖管理工具,类似于node.js的npm 。并非官方,但已经十分流行。

    对于第三方包的自动加载,composer 提供里四种支持。分别是psr-0,psr-4,生成class-map,直接包含files

    psr-0 自动加载

    psr-1 基本代码规范

    psr-2 代码样式规范

    psr-3 日志接口

    psr-4 自动加载

    psr-0 与 psr-4的主要区别是 psr-4中下划线不做任何处理。psr-0中下划线会转义为目录分隔符

    在主文件 index.php中编写

    require 'vendor/autoload.php';
    

    1.PSR-4

    在composer.json中是这样配置的

    {
      "aotuload":{
            "psr-4":{
                "FOO\\":"src/"
         }
      }
    }
    

    当在index.php中new FOO\A\A 这个类时。composer会去查找src/A/A.php.如果这位文件存在,则进行加载

    2.PSR-0

    在composer.json中是这样配置的

    {
      "aotuload":{
            "psr-0":{
                "FOO\\":"src/"
         }
      }
    }
    

    当在index.php中new FOO\A\A 这个类时。composer会去查找src/FOO/A/A.php.如果这位文件存在,则进行加载

    3.class-map

    {
      "aotuload":{
           "class-map":['a/','b/','c/']
        }
    }
    

    composer 会扫描abc 目录下以.php或.inc结尾的class.并生产新的文件映射关系,放到/vendor/composer/aotuload_classmap

    4.files

    {
       "aotuload":{
           "files":["src/my/function.php"]
     }
    
    }
    

    手动指定供提供加载的文件。如全局的function文件

    相关文章

      网友评论

          本文标题:composer自动载入的四种方式

          本文链接:https://www.haomeiwen.com/subject/uygsuqtx.html