常用命令解释
- composer install - 如有 composer.lock 文件,直接安装,否则从 composer.json 安装最新扩展包和依赖;
- composer update - 从 composer.json 安装最新扩展包和依赖;
- composer update vendor/package - 从 composer.json 或者对应包的配置,并更新到最新;
- composer require new/package - 添加安装 new/package, 可以指定版本,如: composer require new/package ~2.5
~ 和 ^ 的区别
版本号使用
稳定性
**这里需要说一下生产环境最重要也一直是好多同学不清楚的一个东西:版本锁定,很多人在纠结,要不要把 composer.lock 上传到代码库啊。我可以给你一个特别简单的判断方法:
如果你的代码是一个项目,就上传,如果是一个工具包,给大家用的,就别上传。**
在已经存在 composer.lock 的目录执行 composer install 的时候,是不会分析包依赖的,它只是按 composer.lock 中描述的下载地址直接下载,所以会快很多,而且版本号是具体的。那怕包已经发了新版,只要 composer.lock 没动过,它就会按 composer.lock 里的版本来安装。composer update 时会更新 composer.lock,所以不要乱用 composer update。
包开发好了怎么发布?开源的方式是这样的:
最后一句请酌情考虑。
另外一种发布方式是闭源,公司内部用的包,上传到 GitLab 或者其它私有的代码托管平台,有两种玩法:
最容易的玩法,在 composer.json 中添加 repositories 直接用 vcs 指定代码库地址
这样做有一个缺点,当你的包很多的时候,你全都得在 composer.json 中加上才行。
自已架设 Packagist 类似的服务,Packagist 官方提供了两款: Toran,收费,开源方案是 Satis,不过它偏手动一些,自己酌情选择即可。
私有包有一个点需要注意:授权,私有包肯定都是需要授权才能访问的,这里由于方案不太通用,大家根据自己的场景来解决就好了。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。