paysera / lib-arcanist-php-cs-extension
此包最新版本(1.3.4)没有可用的许可证信息。
Php Cs Fixer arcanist扩展
1.3.4
2019-05-14 10:50 UTC
Requires
- php: ^5.5 || ^7.0
- ptlis/diff-parser: ^0.6.0
Requires (Dev)
- composer/composer: ^1.4
- friendsofphp/php-cs-fixer: ^2.2
- phacility/arcanist: dev-master#5eda40337bb4135ca4929617602686302edc7cc0
- phacility/libphutil: dev-master#276f6d304b69767d48f88f65484ce310ee2cf3af
- phpunit/phpunit: ^5.0
This package is auto-updated.
Last update: 2024-09-25 06:18:49 UTC
README
此库将PHP CS Fixer集成到lint引擎中,以便在arcanist
中使用。它允许开发者自动在arc diff
上运行php-cs-fixer
。
安装库之前
要自动配置您的.arcconfig
,请将"Paysera\\Composer\\ArcConfigParser::parseArcConfig"
脚本添加到post-install-cmd
和post-update-cmd
或其他scripts
中 - 只需确保此脚本在composer install
时执行即可。
安装
composer require --dev paysera/lib-arcanist-php-cs-extension
.- 确保
.php_cs
文件位于项目目录中。 - 确保
.arcconfig
文件包含以下可配置默认条目"lint.engine": "PhpCsFixerLintEngine"
"load": ["vendor/paysera/lib-arcanist-php-cs-extension/src/"]
"lint.php_cs_fixer.fix_paths" : ["src/"]
- 运行php-cs-fixer
的目录列表。"lint.php_cs_fixer.php_cs_binary" : "{your-bin-dir}/php-cs-fixer"
-php-cs-fixer
可执行文件的位置。"lint.php_cs_fixer.php_cs_file": ".php_cs"
-.php_cs
文件的位置。
示例输出
如果php-cs-fixer
未发现任何问题
$ arc lint
OKAY No lint warnings.
如果php-cs-fixer
报告错误,则arcanist diff
将显示
$ arc lint
>>> Lint for src/Acme/Bundle/AcmeBundle/Controller/DefaultController.php:
Warning (PHP_CS_FIXER) pre_increment, phpdoc_separation, phpdoc_align
Please consider applying these changes:
```
- * @param array $fixData
+ * @param array $fixData
+ *
```
4 {
5 /**
6 * @param string $path
>>> 7 * @param array $fixData
8 * @return \ArcanistLintMessage[]
9 */
10 public function buildLintMessages($path, array $fixData)
Warning (PHP_CS_FIXER) pre_increment, phpdoc_separation, phpdoc_align
Please consider applying these changes:
```
- for ($i = 0; $i < count($rows); $i++) {
+ for ($i = 0; $i < count($rows); ++$i) {
```
13 $rows = array_map('trim', file($path));
14
15 $messages = [];
>>> 16 for ($i = 0; $i < count($rows); $i++) {
17 foreach ($diffParts as $diffPart) {
18 if (isset($diffPart['informational'])) {
19 $matchedInformational = 0;
如果提供Excuse
消息,则这些消息将发送到Phabricator
。