PHP包管理工具composer简单总结

前言

接触laravel之后,才知道有PSR,composer之类的东西,PHP已经不再是一门草根语言了。最近在尝试玩thrift,需要安装PHP thrift依赖库,使用composer install apache/thrift会提示composer.json文件不存在,这个文件确实不存在,难道就不能安装了吗?后来发现可以通过composer require apache/thrift安装,这个命令会尝试创建composer.json配置文件。通过这件事情,发现对composer还是不是很了解,于是花了点时间详细了解,于是使用自己的语言编织了这篇文章。

实现原理

获取包元信息,项目源码地址库下载包以及依赖的包,安装到本地

安装

composer需要PHP5.3.2+版本以及需要开启phar扩展

composer是由PHP编写以及使用PHP phar打包压缩的一个linux shell环境下可执行的文件(phar格式文件可以通过PHP命令行执行)
[wadeyu@localhost ~]$ curl -sS https://getcomposer.org/installer | php


[root@localhost wadeyu]# mv composer.phar /usr/local/bin/composer

配置

设置镜像地址(中国的镜像地址 -g参数表示全局配置)

composer config -g repo.packagist composer https://packagist.phpcomposer.com

设置进程执行超时时间(单位秒)

composer config -g process-timeout 600

查看配置列表

composer config -g -l

配置文件说明
项目根目录下命名为composer.json的文件,使用JSON格式定义项目或者包相关的信息

使用

composer命令自动更新(有时候更新不了:()

composer self-update

声明依赖包(当前执行目录不存在composer.json会尝试创建)

composer require 包名

安装包(composer.json声明需要安装的依赖包)

composer install

更新包

composer update [包名1 包名2 ...]

搜索包(没有composer.json配置文件会执行远程搜索速度会比较慢:()

composer search 模式符

显示命令列表
composer list

更新autoload自动加载配置
composer.json添加autoload配置
composer dump-autoload

后记

我大概深入的了解了下,现在基本上能够满足我日常使用,后面碰到问题可以查看下面的参考资料。多个项目间需要共享代码而又不能发布到公共仓库时,可以搭建本地包元数据服务以及包源码下载的代码管理服务,这个应该是可行的,我没有尝试过:(

参考资料
【1】composer中文网
http://www.phpcomposer.com/
【2】composer工具手动下载地址
https://getcomposer.org/download/
【3】Packagist/Composer中国全量镜像
http://pkg.phpcomposer.com/
【4】composer.json配置详细说明
http://docs.phpcomposer.com/04-schema.html
【5】composer基本用法
http://docs.phpcomposer.com/01-basic-usage.html

作者:WadeYu
出处:http://www.cnblogs.com/wadeyu/
本文版权归本人和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
原文地址:https://www.cnblogs.com/wadeyu/p/5451990.html