初始化

首先建立一个项目目录,然后在项目目录下执行 composer init

按照提示信息一步步填写

添加测试代码

composer 项目到现在就已经是建立好了,接着我们创建一个 tests 目录,用来对项目代码进行测试。

安装 phpunit 测试包

1
composer require --dev phpunit/phpunit ^9

composer.json 文件中添加以下配置,用于自动加载文件

1
2
3
4
5
6
7
8
9
  "autoload-dev": {
"psr-4": {
"Tests\\": "tests/"
},
"files": [
"tests/common.php"
]
}

composer.json 同级目录下添加 phpunit.xml 文件,配置如下

1
2
3
4
5
6
7
8
9
10
11
12
13
<phpunit colors="true" bootstrap="./vendor/autoload.php">
<testsuites>
<testsuite name="Application Test Suite">
<directory suffix="Test.php">tests</directory>
</testsuite>
</testsuites>

<filter>
<whitelist processUncoveredFilesFromWhitelist="true">
<directory suffix=".php">./src</directory>
</whitelist>
</filter>
</phpunit>

这里配置了测试驱动 bootstrap="./vendor/autoload.php" 根据 composer 命名空间进行文件加载。

修改 composer.json 后记得执行

1
composer dump-autoload -o

配置 phpstorm

到这里就可以愉快的编写 composer 包逻辑了

代码部署到 github

github 上创建仓库

使用第二个已存在仓库推送

在项目目录下初始化 git

1
2
3
4
5
git init

git remote add origin git@github.com:dmf-code/basic.git
git checkout -b main
git push --set-upstream origin main

因为我的 git 初始化项目还是默认 master 为主分支,所以需要改为 main

这样子 github 上面就存在我们的代码仓库了。

提交 github 项目路径到 packagist

复制 github 项目路径到 packagist 然后提交,这里省略了注册和 github 授权部分,不清楚的可以
百度一下。

提交项目完成后,只要再在 github 中为项目打个 tag 就完成了自己的 composer 包了