phpcs: обнаружение конструкторов старого стиля

Мне приходится работать с очень большой кодовой базой, которая непрерывно развивалась в течение последних 11 лет, с различными уровнями обслуживания.

Старый код немного грязный, как и следовало ожидать. И есть множество конструкторов PHP4, лежащих вокруг:

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

Кроме того, в каждом объявлено более нескольких файлов с более чем одним классом. И, конечно же, файлы с процедурным кодом (многие с определениями и
некоторые с реальной работой, происходящей в них).

Я хотел бы использовать phpcs запустить отчет только по этим вещам:

  • Класс объявлен и есть конструктор старого стиля
    • Бонусные баллы, если мы можем пропустить те, где __construct () также объявлен.
  • Объявлено более одного класса

И игнорировать все остальное.

Есть ли какой-то стандарт принюхивается Я мог бы использовать для этого? Или способ объявить пользовательский набор правил, чтобы проверить это?

Еще один дополнительный бонус: обнаружение тех файлов, в которых определен класс, и есть код, находящийся вне класса.

1

Решение

Наконец-то нашел Вот что я мог бы искать конструкторы старого стиля, используя это:

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

Также я нашел стандартный генератор для PhpCS Вот.

0

Другие решения

Вы также можете использовать фиксатор no_php4_constructor из
PHP-CS-Fixer
введите описание изображения здесь

Как это использовать?

Установить пакет

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

введите описание изображения здесь

Запустить команду на src каталог

vendor/bin/php-cs-fixer fix src --rules=no_php4_constructor --allow-risky=yes

Это все. Хорошего дня!

0

По вопросам рекламы [email protected]