PHP-линтер для неопределенных переменных / ассоциативных ключей - PullRequest
0 голосов
/ 21 сентября 2019

Мы ищем PHP-линтер, и мы преследуем конкретную проблему, которая вызывает E_NOTICE, многие из них:

    if($undef_variable)...
    if($assoc['undef_key'])...
    $undef_variable?...:...
    $assoc['undef_key']?...:...

Функционально, код работает отлично, так что если инструменты также моглизаменяйте на лету такие случаи, например,

   if($undef_variable??null)

Это было бы огромной помощью.Часть кода находится в шаблонах, которые включены с некоторыми предварительно установленными переменными (всегда одинаковыми).Так что в идеале инструмент также позволил бы настраивать некоторые доступные переменные глобального пространства имен.Инструмент должен полностью понимать синтаксис PHP7, особенно анонимные функции.

Как минимум, нам нужно генерировать список для каждого случая, когда переменная используется в качестве логического условия и не определена в той же области, икаждый раз, когда ключ массива используется в качестве логического условия.

1 Ответ

1 голос
/ 21 сентября 2019

Phpcs- PhpCodeSniffer может быть использован для этого.Вам нужно настроить правило для этого.Найдите его здесь - Phpcs

Проверьте это правило - https://github.com/sirbrillig/phpcs-variable-analysis

Если вы используете PhpStorm, у него есть опция в инспекциях.https://www.jetbrains.com/help/phpstorm/php-undefined-variable.html

...