zoukankan      html  css  js  c++  java
  • 使用composer注意事项

    1.由于被墙的原因,建议使用中文镜像获取依赖,以https://packagist.phpcomposer.com为例,执行以下命令

    composer config -g repo.packagist composer https://packagist.phpcomposer.com

    2.关于composer.lock

    在安装依赖后,Composer 将把安装时确切的版本号列表写入 composer.lock 文件。这将锁定改项目的特定版本。

    这是非常重要的,因为 install 命令将会检查锁文件是否存在,如果存在,它将下载指定的版本(忽略 composer.json 文件中的定义)。

    如果不存在 composer.lock 文件,Composer 将读取 composer.json 并创建锁文件。

    有了composer.lock之后,如果你的依赖更新了新的版本,你将不会获得任何更新。此时要更新你的依赖版本请使用 update 命令。这将获取最新匹配的版本(根据你的 composer.json 文件)并将新版本更新进锁文件。

    但是强烈不建议直接 composer update,因为这相当于删除了composer.lock,然后执行composer install,这样可能会导致项目中的依赖的版本发生变化

    建议做法:使用白名单,声明需要更新的依赖

    composer update monolog/monolog [...]

    3.关于composer.json的autoload字段

    "autoload": {
        "classmap": [  
            "database",
            "app/Http/Plugins"
        ],
        "psr-4": {
            "App\": "app/"  (其中App\就是根命名空间,app/指的就是根命名空间所在目录)
        },
        "files": [
            "app/Helpers/functions.php",
            "app/Helpers/MyException.php"
        ]
    },

    a.classmap  扫描指定目录,如下面的目录database和app/Http/Plugins

    b.psr-4 指定使用某命名空间的类所在的目录,如使用App这个命名空间的类,都在app这个目录里

    c.files 每次请求时都要加载的文件,直接指定文件路径即可

    4如何在修改composer的autolaod字段后更新autoload文件

    composer dumpautoload 或者 composer install

    5.删除一个依赖

    composer remove vendor/package vendor/package2

     

  • 相关阅读:
    BZOJ1218:[HNOI2003]激光炸弹
    洛谷【P3407】散步
    洛谷【P1142】轰炸
    洛谷【P1358】扑克牌
    洛谷【P1236】算24点
    洛谷【P2003】平板
    TVYJ1266:费解的开关
    POJ1958:Strange Towers of Hanoi
    孤独地、凄惨地AK
    ios---scrollview用法总结
  • 原文地址:https://www.cnblogs.com/ch459742906/p/8034258.html
Copyright © 2011-2022 走看看