cmposer避坑指南,区分json与lock,install与update及如何解决冲突

要避免采composer坑, 我们首先要知道composer是什么,是干什么用的,本文主要分以下几个部分

  • 自动加载与composer
  • composer.json VS composer.lock
  • composer install VS composer update
  • composer VS git

为什么要自动加载?

换句话说就是,如果不自动加载一直用include/require来包含类库文件会引起什么问题:

  1. 目录名和文件名变化引起程序不稳定的问题
  2. 造成遗漏 或者 包含进不必要的类文件
  3. 相对路径的性能问题
  4. 类库文件间相互依赖的问题

尽管PHP有autoload和spl_autoload也不能很好的解决这些问题,后来composer就出现了为我们解决了这些问题:
Composer 将这样为你解决问题:

a) 你有一个项目依赖于若干个库。

b) 其中一些库依赖于其他库。

c) 你声明所依赖的东西。

d) Composer 会找出哪个版本的包需要安装,并安装它们。

composer加载核心思想:通过composer的配置文件在引用入口文件(autoload.php)时,将类和路径的对应关系加载到内存中,最后将具体加载的实现注册到spl_autoload_register函数中.最后将需要的文件包含进来。

Composer 不是一个包管理器。它涉及 “packages” 和 “libraries”,它在每个项目的基础上进行管理,在你项目的某个目录中(例如 vendor)进行安装。默认情况下它不会在全局安装任何东西。因此,这仅仅是一个依赖管理。就是这个依赖管理

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值