composer 代码库管理
参考资料:
https://packagist.org/about#naming-your-package
简介
composer 命令的请求源是 packagist.org
********************************
发布项目到composer官方仓库
********************************
把 php在git的项目发布到 composer 官方仓库 packagist.org
1、在git项目的 master-x 版本根目录创建文件 composer.json ,packagist.org 会定时来抓取项目的更新信息
{
"name": "janchou/sms",
"type": "library",
"description": "php sms sender which implement cmpp protocol",
"keywords": ["cmpp protocol","sms sender"],
"homepage": "https://github.com/xxx/phpcmpp",
"license": "MIT",
"authors": [
{
"name": "zhian zhou",
"email": "297963123@qq.com",
"homepage": "https://github.com/xxx",
"role": "Developer"
}
],
"require": {
"php": ">=5.4.0",
"yiisoft/yii2": "*"
},
"autoload": {
"psr-4": {
"janchou\\sms\\": "phpcmpp"
}
}
}
2、提交项目地址到 https://packagist.org/packages/submit
****************
在项目更新的时候,触发composer 重新抓取github的项目信息
****************
配置svn或者git的hook,在提交代码的时候,使用post提交信息到如下地址
地址:
https://packagist.org/api/update-package?username=username1&apiToken=API_TOKEN
body的内容:
{"repository":{"url":"https://packagist.org/packages/janchou/phpcmpp"}}
********************************
composer源上拉取代码、使用
********************************
安装包
方式一:(要 composer.json文件)
1、 在当前目录下创建 composer.json
{
"require": {
"janchou/phpcmpp": "master-x"
}
}
2、执行命令安装
composer install
方式二:(不要 composer.json文件)
1、执行命令安装
composer require --prefer-dist janchou/phpcmpp "master-x"
2、执行结果
会自动在当前目录下创建vendor目录
vendor/janchou/sms/phpcmpp
会在文件\vendor\composer\autoload_psr4.php中添加
return array(
"janchou\\sms\\" => array($vendorDir . '/phpcmpp'),
);
代码的使用
$phpcmpp = new \janchou\sms\phpcmpp();
其他应用
重新生成加载文件
1、修改文件
vim composer.json
2、重新生成 加载文件(autoload_classmap.php、autoload_real.php、autoload_static.php、ClassLoader.php、autoload.php)
composer dump-autoload
安装依赖
方式一:使用单一命令执行,会自动在文件中添加依赖并进行安装
composer require --prefer-dist shmilyzxt/yii2-queue "dev-master"
方式二: 修改composer.json文件+执行命令
1、手动修改文件
vim composer.json
2、执行命令
composer install
composer命令工具的更新和回滚
composer更新
composer self-update
composer回滚
self-update --rollback