rector/swiss-knife

升级架构师口袋中的瑞士军刀

0.2.35 2024-09-13 18:13 UTC

README

Downloads total

升级架构师口袋中的瑞士军刀!


安装

composer require rector/swiss-knife --dev

用法

1. 检查代码中的Git合并冲突

你使用Git吗?那么你不想在推送的代码中看到合并冲突

<<<<<<< HEAD

将此命令添加到CI中,以发现这些冲突

vendor/bin/swiss-knife check-conflicts .

注意:默认情况下会排除/vendor目录。


2. 检测注释掉的代码

你是否曾经忘记在代码中注释掉的代码?

//      foreach ($matches as $match) {
//           $content = str_replace($match[0], $match[2], $content);
//      }

不再有这种情况!将此命令添加到CI中,以发现这些代码

vendor/bin/swiss-knife check-commented-code <directory>
vendor/bin/swiss-knife check-commented-code packages --line-limit 5

达到完整的PSR-4

在单个文件中找到多个类

为了使PSR-4正常工作,每个类都必须在其自己的文件中。此命令使您容易发现单个文件中的多个类

vendor/bin/swiss-knife find-multi-classes src

更新命名空间以匹配PSR-4根

你的类在错误的命名空间中吗?让它匹配你的PSR-4根

vendor/bin/swiss-knife namespace-to-psr-4 src --namespace-root "App\\"

这将更新你的/src目录中的所有文件,以App\\开头并遵循完整的PSR-4路径

 # file path: src/Repository/TalkRepository.php

-namespace Model;
+namespace App\Repository;

 ...

4. 最终化没有子类的类

你想要最终化所有没有子类的类吗?

vendor/bin/swiss-knife finalize-classes src tests

你使用mock但还没有绕过final吗?

vendor/bin/swiss-knife finalize-classes src tests --skip-mocked

这将保持mocked类非final,以便PHPUnit可以内部扩展它们。


你想要跳过文件吗?

vendor/bin/swiss-knife finalize-classes src tests --skip-file src/SpecialProxy.php

5. 私有化本地类常量

PHPStan可以报告未使用的私有类常量,但它会跳过所有公共的。你有很多类常量,都是公共的,但想缩小范围到私有吗?

vendor/bin/swiss-knife privatize-constants src test

此命令将

  • 查找所有类常量使用
  • 扫描类和常量
  • 使这些常量在本地使用时为private

这样,所有未在外部使用的常量都将安全地变为private


快乐编码!