LINUX.ORG.RU

Это должны уметь более менее адекватные IDE. Помнится Netbeans такое умел. В Phpstorm по дефолту вроде не работает, но это не точно. Опять же, зависит от контекста.

ilinsky ★★★★★ ()
Последнее исправление: ilinsky (всего исправлений: 2)
Ответ на: комментарий от udhv

Отличный совет как делать не надо. Ты предлагаешь вместо того что бы найти переопределение, объявить константу? Молодец.

ilinsky ★★★★★ ()
Ответ на: комментарий от ilinsky

В Netbeans как этот функционал назывался или как он вызывался ?

pinachet ★★★★★ ()
Ответ на: комментарий от ilinsky

В Phpstorm по дефолту вроде не работает

надо доустановить php inspections который хорошо ловит подобный говнокод

wxw ★★★★★ ()
Ответ на: комментарий от pinachet

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

ilinsky ★★★★★ ()
Последнее исправление: ilinsky (всего исправлений: 1)

но это же вполне законное присваивание элементу по ключу, как гипотетический линтер должен отделять правомерные на ваш взгляд присваивания от неправомерных?

abcq ()
Последнее исправление: abcq (всего исправлений: 1)
Ответ на: комментарий от abcq

Согласен, просто он должен хотя бы варнинг давать , что возможна проблема

pinachet ★★★★★ ()
Ответ на: комментарий от pinachet

Тогда он будет давать такие ворнинги на каждое корректное переприсвоение. Обычно линтеры отлавливают повторное объявление потому что это действительно некорректное поведение скорее всего, а в большинстве языков это вообще в сам язык добавляют даже без линтеров.

Там выше человек правильно написал, проще сделать константой переменную, или как вариант не пользоваться ассоциативным массивом, а пользоваться какой-то другой иммутабельной структурой.

Ну и последний вариант просто погрепать исходники и посмотреть где идет переприсваивание, оно скорее всего где-то рядом.

abcq ()
Ответ на: комментарий от Noob_Linux

а консольно при анализе оно будет такое говорить ? и если между двумя определениями еще определение других переменных ?

pinachet ★★★★★ ()
Ответ на: комментарий от pinachet

а консольно при анализе оно будет такое говорить ?

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

и если между двумя определениями еще определение других переменных ?

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

попробуй https://psalm.dev/ он довольно неплох если нужен хороший стат анализ.

Noob_Linux ★★★ ()
Последнее исправление: Noob_Linux (всего исправлений: 1)
Ограничение на отправку комментариев: только для зарегистрированных пользователей