phpcs:检测旧样式构造函数

时间:2016-11-15 14:31:16

标签: php refactoring phpcs

我必须使用一个非常庞大的代码库,该代码库在过去11年中一直在不断发展,具有不同的维护级别。

旧的代码有点混乱,正如人们所期望的那样。并且有大量的PHP4构造函数在其中:

class Foo {
    private $thing;
    public function Foo($thing) {
       $this->thing = $thing;
    }
 }

另外,在每个文件上声明了多个具有多个类的文件。当然,文件中只包含程序代码(很多都带有定义,和 一些实际工作正在其中发生。)

我想使用phpcs仅针对这些内容生成报告:

  • 声明了一个类,并且有一个旧式构造函数
    • 如果我们可以跳过那些也声明了__construct()的点,那么就会获得奖励。
  • 宣布多个班级

忽略其他一切。

我可以使用一些标准的嗅探吗?或者是一种声明自定义规则集来检查这个的方法吗?

还有一个额外的好处:检测定义了类的文件,并且代码位于类之外。

2 个答案:

答案 0 :(得分:0)

最后发现here我可以使用它来寻找旧式构造函数:

phpcs --standard=Squiz --extensions=php --sniffs=Generic.NamingConventions.ConstructorName .

另外,我找到了一个用于PhpCS here的标准生成器。

答案 1 :(得分:0)

你也可以使用“no_php4_constructor”修复工具 PHP-CS-Fixer enter image description here

如何使用它?

安装包

composer require friendsofphp/php-cs-fixer

--dry-run --diff目录

上运行带src的预览命令
vendor/bin/php-cs-fixer fix src --rules=no_php4_constructor --allow-risky=yes --dry-run --diff

enter image description here

src目录

上运行命令
vendor/bin/php-cs-fixer fix src --rules=no_php4_constructor --allow-risky=yes

这就是全部。享受这一天!