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

     

  • 相关阅读:
    WPF 命令基础
    委托 C#
    Volley网络请求框架的基本用法
    MailOtto 实现完美预加载以及源码解读
    Android_时间服务
    Android_Chronometer计时器
    Android_Json实例
    完结篇
    就快完结篇
    MySQL 选出日期时间最大的一条记录
  • 原文地址:https://www.cnblogs.com/ch459742906/p/8034258.html
Copyright © 2011-2022 走看看