codelegance / grumphp
一个启用源代码质量检查的Composer插件。
Requires
- php: >=5.6.0
- composer-plugin-api: ~1.0
- composer/composer: ^1.0
- doctrine/collections: ~1.2
- gitonomy/gitlib: ~1.0
- monolog/monolog: ~1.17
- ocramius/proxy-manager: ~0.4|~1.0|~2.0
- seld/jsonlint: ~1.1
- symfony/config: ~2.7|~3.0
- symfony/console: ~2.7|~3.0
- symfony/dependency-injection: ~2.7|~3.0
- symfony/event-dispatcher: ~2.7|~3.0
- symfony/filesystem: ~2.7|~3.0
- symfony/finder: ~2.7|~3.0
- symfony/options-resolver: ~2.7|~3.0
- symfony/process: ~2.7|~3.0
- symfony/proxy-manager-bridge: ~2.7|~3.0
- symfony/yaml: ~2.7|~3.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ~1|~2
- jakub-onderka/php-parallel-lint: ^0.9.2
- nikic/php-parser: ~2.1
- phpspec/phpspec: ^3.2.2
- phpspec/prophecy: ^1.6.2
- phpunit/phpunit: ^4.8.31
- sebastian/comparator: ^1.2.4
- sensiolabs/security-checker: ^3.0
- squizlabs/php_codesniffer: ~2.3
Suggests
- atoum/atoum: Lets GrumPHP run your unit tests.
- behat/behat: Lets GrumPHP validate your project features.
- codeception/codeception: Lets GrumPHP run your project's full stack tests
- codegyre/robo: Lets GrumPHP run your automated PHP tasks.
- doctrine/orm: Lets GrumPHP validate your Doctrine mapping files.
- friendsofphp/php-cs-fixer: Lets GrumPHP automatically fix your codestyle.
- jakub-onderka/php-parallel-lint: Lets GrumPHP quickly lint your entire code base.
- malukenho/kawaii-gherkin: Lets GrumPHP lint your Gherkin files.
- nikic/php-parser: Lets GrumPHP run static analyses through your PHP files.
- phing/phing: Lets GrumPHP run your automated PHP tasks.
- phpmd/phpmd: Lets GrumPHP sort out the mess in your code
- phpspec/phpspec: Lets GrumPHP spec your code.
- phpunit/phpunit: Lets GrumPHP run your unit tests.
- roave/security-advisories: Lets GrumPHP be sure that there are no known security issues.
- sebastian/phpcpd: Lets GrumPHP find duplicated code.
- sensiolabs/security-checker: Lets GrumPHP be sure that there are no known security issues.
- squizlabs/php_codesniffer: Lets GrumPHP sniff on your code.
- sstalle/php7cc: Lets GrumPHP check PHP 5.3 - 5.6 code compatibility with PHP 7.
This package is auto-updated.
Last update: 2021-08-18 14:15:24 UTC
README
GrumPHP
厌倦了一次又一次地捍卫代码质量?GrumPHP会为你完成这项工作!这个Composer插件将在你的包仓库中注册一些git钩子。当有人提交更改时,GrumPHP将对提交的代码运行一些测试。如果测试失败,你将无法提交你的更改。这个实用的工具不仅能提高你的代码库,还能教会你的同事按照团队确定的最佳实践编写更好的代码。
GrumPHP内置了一组常见任务。你将能够以最少的配置使用GrumPHP。
我们不想让你感到无聊,所以简单地说:自己安装它,释放GrumPHP的力量!
演示
安装
如果你正在尝试在Windows上安装GrumPHP:请阅读Windows预安装部分。
此包是Composer插件,应该使用Composer将其安装到你的项目的开发依赖项中。
composer require --dev phpro/grumphp
当包安装后,GrumPHP将连接到你的项目的git钩子。你将在composer日志中看到以下消息
小心!GrumPHP正在监视你的提交!
为了让GrumPHP更加出色,它还会建议安装一些额外的包
- atoum/atoum : ~2.7
- behat/behat : ~3.0
- codegyre/robo : ~0.7
- doctrine/orm: ~2.5
- friendsofphp/php-cs-fixer : ~1|~2
- malukenho/kawaii-gherkin : ~0.1
- phing/phing : ~2.0
- sstalle/php7cc : ~1.1
- phpspec/phpspec : ~2.1
- phpunit/phpunit : ~4.5
- roave/security-advisories : dev-master@dev
- sebastian/phpcpd : ~2.0
- squizlabs/php_codesniffer : ~2.3
- codeception/codeception : ~2.1
- sensiolabs/security-checker : ~3.0
- phpmd/phpmd : ~2.4
- nikic/php-parser: ~2.1
- kahlan/kahlan: ~3
GrumPHP永远不会强迫你使用特定的任务。你可以选择适合你需求的任务,并且可以随时激活或停用任何任务!
安装GrumPHP时遇到问题?了解如何
配置
GrumPHP中的一些事情可以在项目根目录(运行grumphp命令的目录)中的grumphp.yml
或grumphp.yml.dist
文件中进行配置。你可以在composer.json
或控制台命令的--config
选项中指定自定义配置文件名和位置。
# grumphp.yml parameters: bin_dir: "./vendor/bin" git_dir: "." hooks_dir: ~ hooks_preset: local stop_on_failure: false ignore_unstaged_changes: false process_async_limit: 10 process_async_wait: 1000 process_timeout: 60 ascii: failed: grumphp-grumpy.txt succeeded: grumphp-happy.txt tasks: ant: ~ atoum: ~ behat: ~ brunch: ~ clover_coverage: ~ codeception: ~ composer: ~ composer_script: ~ doctrine_orm: ~ gherkin: ~ git_blacklist: ~ git_commit_message: ~ git_conflict: ~ grunt: ~ gulp: ~ jsonlint: ~ kahlan: ~ npm_script: ~ phing: ~ php7cc: ~ phpcpd: ~ phpcs: ~ phpcsfixer: ~ phpcsfixer2: ~ phplint: ~ phpmd: ~ phpparser: ~ phpspec: ~ phpunit: ~ phpversion: ~ robo: ~ securitychecker: ~ shell: ~ xmllint: ~ yamllint: ~ testsuites: [] extensions: []
你可以在以下部分中找到可配置选项的详细概述
命令
由于GrumPHP只是一个CLI工具,因此可以触发以下命令
兼容性
GrumPHP 与 PHP 5.4 或更高版本兼容,并且也已测试与 HHVM 兼容。
本包已在以下 git 客户端进行测试:
- CLI Unix
- CLI Mac
- CLI Windows
- PhpStorm Git
- Atlassian SourceTree
- Syntevo SmartGit
路线图
已有许多任务可用,以确保您的团队能编写出色的代码。在我们可以发布 v1.0.0 之前,还有 1 个主要部分尚未完成。
我们一直在寻找支持新任务。如果您忘记了一个任务,请随意提交问题或创建一个 pull 请求。
您缺少功能或发现了一个错误?在 问题跟踪器 中记录它!想帮忙?请随时联系我们!
构建您自己的约定检查器
您可以看到如何构建自己的约定检查器的示例。
解决问题
关于
提交错误和功能请求
错误和功能请求在 GitHub 上跟踪。请在提交代码之前查看我们的规则。
许可
GrumPHP 在 MIT 许可下授权 - 有关详细信息,请参阅 LICENSE 文件。