Composer
最后更新于:2022-04-02 04:27:49
## Composer
Composer 是 PHP5.3以上 的一个依赖管理工具。它允许你声明项目所依赖的代码库,它会在你的项目中为你安装他们。Composer 不是一个包管理器。是的,它涉及 "packages" 和 "libraries",但它在每个项目的基础上进行管理,在你项目的某个目录中(例如 vendor)进行安装。默认情况下它不会在全局安装任何东西。因此,这仅仅是一个依赖管理。
> 可以这么理解,composer是一个实现了自动加载的框架,它可以通过配置的声明,下载相应的依赖,代码库,并通过配置,使其能psr-4规范被正确的自动引入 详细文档可查看composer文档:https://github.com/5-say/composer-doc-cn
*****
### 官方站点 & 镜像
[Composer](https://getcomposer.org/)
(看文档最好的方式就是直接看官方文档,因为这是第一手资源。而阅读最好的方式就是,从前到后,一字不漏的读完。)
[Packagist](https://packagist.org/)
[Namespaces | Composer API](https://getcomposer.org/apidoc/master/index.html)
[Composer 中文网 / Packagist 中国全量镜像](https://www.phpcomposer.com/)
[Composer 中文镜像 / Packagist 中国全量镜像正式发布! | Laravel China 社区](https://laravel-china.org/composer)
*****
### 文档资料
[5-say/composer-doc-cn: Composer 中文文档(新版本文档重新翻译中,详见 1.6分支)](https://github.com/5-say/composer-doc-cn)
[PHP 开发者该知道的 5 个 Composer 小技巧 - SegmentFault 业界资讯 - SegmentFault 思否](https://segmentfault.com/a/1190000000355928)
[PHP 开发者该知道的 Composer 小技巧 - 个人文章 - SegmentFault 思否](https://segmentfault.com/a/1190000013002178)
[Composer进阶使用 —— 常用命令和版本约束 - icyfire - SegmentFault 思否](https://segmentfault.com/a/1190000005898222)
[语义化版本 2.0.0 | Semantic Versioning](https://semver.org/lang/zh-CN/)
[composer require版本冲突 - SegmentFault 思否](https://segmentfault.com/q/1010000002521534)
> 不能多版本共存,这种解决方式确实很痛苦,让原作者pr很慢,直接修改包、建立自己的包也很麻烦,往往要取舍包的选择
[话说现在写PHP的用composer的多不多啊,我有一个问题请教大神 - SegmentFault 思否](https://segmentfault.com/q/1010000005121392)
> 我的答案是,没法解决。在同一个项目中,某个包的版本肯定是固定的。
[npm包管理的依赖包版本冲突问题如何解决呢? - SegmentFault 思否](https://segmentfault.com/q/1010000006910755)
> 猜想:composer包版本冲突,多版本共存的问题其实可以完美解决,可以利用php命名空间别名解决这个问题。
> 其实这样也有正向作用,能促使维护者不断升级包,是社区更加充满生气和繁荣。
[Composer 常用命令总结(三) - 马燕龙个人博客](http://www.mayanlong.com/archives/2016/194.html)
[Git Tag的使用 - 简书](https://www.jianshu.com/p/32054f3e415d)
[composer改回原来的源 - 平凡 - CSDN博客](https://blog.csdn.net/pyufftj/article/details/83049890)
[composer查看镜像地址 - 阳水平的博客 - CSDN博客](https://blog.csdn.net/zhezhebie/article/details/78432705)
*****
last update:2018-12-4 14:25:26
';