php使用composer来管理依赖

解决什么问题:
    1、管理php第三方依赖
    2、第三方依赖不需要追踪,代码占地小

基本约束:

    波浪号~1.2 相当于 >=1.2 <2.0.0 而~1.2.3相当于>=1.2.3 <1.3.0
    折音号 ^     它允许升级版本到安全的版本。例如,^1.2.3相当于>=1.2.3 <2.0.0


composer.lock - 锁文件
    含义:在安装依赖后,Composer 将把安装时确切的版本号列表写入 composer.lock 文件。这将锁定改项目的特定版本。这是非常重要的,因为 install 命令将会检查锁文件是否存在,如果存在,它将下载指定的版本(忽略 composer.json 文件中的定义)。
    升级:升级到新的版本,使用update命令即可,这样子就能获取最新版本的包并且也更新了你的composer.lock文件。

安装:
    composer install

全部更新:composer update。会把组件更新到最新稳定版本同时会更新最composer.lock文件。

关于自动加载
    require 'vendor/autoload.php';


问题:如何升级某个包?// 待验证
    update则无法在命令行传入新的版本号,需要先手动在composer.json中指定新的版本号,然后执行更新命令。
    // 安装包     composer require hashids/hashids:2.0.0
    // 已安装 升级 composer require hashids/hashids:3.0.0
    // 已安装 降级 composer require hashids/hashids:2.0.4

    另:开发过程中一般不适应update命令,因为update命令将更新所有的依赖到最新,这个动作是危险的,你之前使用的类库可能已经更新的面目全非而导致你之前的代码不可用。

问题:composer.lock和composer.json需要追踪吗?// 答案是都需要,但实际看项目要求
    文档里特意强调了, Commit your application's composer.lock (along with composer.json) into version control.

猜你喜欢

转载自blog.csdn.net/weixin_38230961/article/details/112234704