mrjoops / symfony-service-devtools
一套构建 Symfony 服务的实用工具。
v0.4.0
2019-09-03 11:23 UTC
Requires
- friendsofphp/php-cs-fixer: ^2.15
- mavimo/phpstan-junit: ^0.2.3
- phpmd/phpmd: ^2.7
- phpstan/extension-installer: ^1.0
- phpstan/phpstan-symfony: ^0.11.6
- squizlabs/php_codesniffer: ^3.4
- symfony/test-pack: ^1.0
README
一套构建 Symfony 服务的实用工具。迄今为止,它包括
- 具有温柔默认设置的代码质量工具
- 测试工具
- 一个现成的 Docker 环境
- 适用于 CI 工具 Bitbucket Pipelines 的配置
- 一个 Makefile 以简化与这些工具的交互
安装
您可以使用 Composer 来安装它。
composer config extra.symfony.allow-contrib true
composer require --dev mrjoops/symfony-service-devtools
先决条件
尽管两者都是可选的,但请确保您已将 docker-compose 与 Docker 一起安装在您的系统上。
如果您使用 Symfony Flex,可以安全地跳转到 使用 部分。否则,您必须将以下文件复制到您的项目中以享受所有功能
- .env.test
- .php_cs.dist
- bitbucket-pipelines.yml
- docker-compose.yml
- Dockerfile
- dredd.yml
- Makefile
- phpcs.xml.dist
- phpmd.xml
- phpstan.neon.dist
- phpunit.xml.dist
cp vendor/mrjoops/symfony-service-devtools/{.env.test,.php_cs.dist,bitbucket-pipelines.yml,docker-compose.yml,Dockerfile,dredd.yml,Makefile,phpcs.xml.dist,phpmd.xml,phpstan.neon.dist,phpunit.xml.dist} .
不要忘记在您的 .gitignore
文件中添加以下行
/.php_cs
/.php_cs.cache
/phpcs.xml
/.phpcs-cache
/phpstan.neon
/phpunit.xml
.phpunit.result.cache
/test-reports/
/vendor/
请随意编辑这些文件以满足您的需求。
使用
质量工具
您可以使用以下命令运行所有代码质量工具
make check
您可以单独运行它们
make md
make sniff
make stan
make style
您还可以使用以下命令运行修复器
make fix
再次,您也可以单独运行它们
make fix-sniff
make fix-style
测试工具
您可以使用以下命令运行所有测试工具
make test
您可以单独运行它们
make dredd
make unit
关于 Dredd 的说明
由于 Dredd 是一个 NodeJS 工具,它不会与 mrjoops/symfony-service-devtools
一起安装。然而,它包含在 Docker 镜像中(见下文),并已准备好使用!
Docker
您可以将服务添加到 docker-compose.yml
文件中。然后您可以使用以下命令启动服务
docker-compose up -d
这里使用的基 Docker 镜像是 mrjoops/ppm,它使用 PHP-PM,因此您有一个高效的 PHP 网络服务器正在运行!
持续集成
存在一个适用于 Bitbucket Pipelines 的配置,它将在拉取请求上运行所有检查和测试。
有见地的建议
- 为了自己好,创建这个别名:
alias dk='docker-compose exec app'
,这样您只需在命令前加上dk
,就可以在容器中执行它们。 - 将
make check
(或dk make check
)添加到您的 git 工作流程中是一个好主意,通过创建一个 pre-commit 钩子。