在写PHP程序的时候,有自己写Composer私有包然后再使用,我也是通过摸索后,也学会了使用Composer加载git仓库。
创建Composer包
我们创建自己的Composer包,先创建一个空目录,输入初始化命令后,Composer会引导我们进行创建包。
composer init
输入包名,格式为你的名字/项目名称,如我的:snow/newcomposer,回车后输入包描述,再下一步输入作者和邮箱,格式为:姓名 <邮箱>
This command will guide you through creating your composer.json config.
Package name (<vendor>/<name>) [snow/newcomposer]:
Description []: Composer Test
Author [user <email>, n to skip]: snow <test@61os>
输入最低稳定运行版本,可选值为stable、RC、beta、alpha、dev;输入包类型,一半为library;下一项为开源协议,没有都可以为空。
Minimum Stability []:
Package Type (e.g. library, project, metapackage, composer-plugin) []: library
License []:
设置包依赖环境,如php版本或依赖于其他包,我没有直接跳过;最后是设置psr-4自动加载路径,默认在src目录下即可
Would you like to define your dependencies (require) interactively [yes]?
Would you like to define your dev dependencies (require-dev) interactively [yes]?
Add PSR-4 autoload mapping? Maps namespace "Snow\Newcomposer" to the entered relative path. [src/, n to skip]:
完成以上操作后会显示配置文件,核对信息没有问题填个yes就完成了
{
"name": "snow/newcomposer",
"description": "Composer Test",
"type": "library",
"autoload": {
"psr-4": {
"Snow\\Newcomposer\\": "src/"
}
},
"authors": [
{
"name": "snow",
"email": "test@61os"
}
],
"require": {}
}
Do you confirm generation [yes]? yes
完成后会生成以下目录及文件
接下来我们写个测试文件,创建文件src/TestFile.php
,写上命名空间,根据psr-4规范,类名和文件名相同
<?php
namespace Snow\Newcomposer;
class TestClass{
function test(){
echo 'Test...';
}
}
然后在根目录下创建index.php
文件,测试一下是否能正常加载运行。
<?php
use Snow\Newcomposer\TestClass;
require "vendor/autoload.php";
$t = new TestClass();
$t->test();
通过以上教程,Composer包基本创建完成,然后按照自己的需求编写类。
上传到Git仓库
初始化本地仓库;将本目录添加到暂存区,然后再将暂存区内容添加到本地仓库中。
git init
git add .
git commit -m "this is new commit"
然后将本地仓库上传到Git服务器
git remote add origin https://github.com/.../composertest.git
git push -u origin master
将仓库上传到远程仓库后,在releases页面,添加版本发布,左上角的Choose a tag
添加一个新版本号,如1.0或1.0.1之类的。
添加到项目
打开composer.json
,找到repositories添加仓库地址
{
...
"repositories": [
{
"type": "vcs",
"url": "https://github.com/.../composertest.git"
},{
"type": "vcs",
"url": "https://github.com/<username>/alipay.git"
}
],
...
}
第二步可以通过composer直接加载或者修改composer.json文件后更新加载
通过composer加载
composer require <username>/composertest
composer require <username>/alipay
或者通过修改配置文件,后面版本号为tag版本号
{
...
"require": {
...
"<username>/composertest": "^1.1",
"<username>/alipay": "^1.0"
...
},
...
}
修改配置文件后,执行以下命令安装组件即可使用。
composer update
本站文章除注明转载/出处外,均为本站原创或翻译,如若转载,请注明出处。