一、把本地项目推到远程(如git)作为composer的资源包
作为composer的资源包必须要有个composer.json 文件
可通过composer命令(http://docs.phpcomposer.com/03-cli.html#init):
composer init
按照提示来自动生成。
composer.json 格式如下:
{
"name": "gaodun/phpredis",
"description": "php redis extension",
"authors": [
{
"name": "eric.wang",
"email": "[email protected]"
}
],
"autoload":{
"psr-4": {"gaodun\\phpredis\\": "src/"}
},
"require": {}
}
其中参数autoload 用于自动加载。用于命名空间到目录的映射。此处表示 gaodun\phpredis\ 命名空间会映射到 该库的src目录 下。 例如 gaodun\phpredis\Cache 就表示存在 src/Cache.php 类
执行init命令时必须要再项目的根目录,因为composer.json文件必须要在项目的根目录才可以
注意:包名参数(name)一定不要随意填写,因为安装包的时候composer是根据这个包名来生成目录名的。
如:https://github.com/ter987/phpredis
二、安装远程资源包到本地项目
编辑本地项目根目录的composer.json 文件 ,写入要安装的库的参数,如:
{
"require": {
"gaodun/phpredis": "dev-master"
},
"repositories": [
{
"type": "git",
"url": "https://github.com/ter987/phpredis.git"
}
]
}
PS:composer 默认是从packagist中获取资源包的,如果要从别的地方获取资源包,需要指定repositories 参数
然后在本地项目根目录执行命令:
composer install
如果提示:
D:\xampp\htdocs\e.gaodun.com>composer install
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Warning: The lock file is not up to date with the latest changes in composer.jso
n. You may be getting outdated dependencies. Run update to update them.
Nothing to install or update
Generating autoload files
执行命令
composer update --lock
即可成功安装远程资源包到本地。
三、更新库
更新所有库:
composer update
如果要更新单个库,打开composer.lock文件看下具体的库名,然后:
composer update [库名]
参考:
http://www.phpcomposer.com/5-features-to-know-about-composer-php/