Захотел я заменить в одном проекте синтаксис создания массивов, со старого array() на вариант с квадратными скобками []. Естественно, делать это нужно как-то автоматически. Легко заменить пустые массивы, но как заменить вложенные массивы, мультилайновые массивы. Казалось бы — достаточно найти все вхождения array() и заменить их на []. Однако сложность возникает при работе со вложенными и многострочными структурами, где простая замена по шаблону может привести к синтаксическим ошибкам или нарушению форматирования кода. На помощь приходит Code Inspector от PhpStorm. Инспекторов в PhpStorm много, но нам нужен только один с именем «Traditional syntax array literal detected», который отвечает за обнаружение массивов, объявленных с использованием классического синтаксиса.
Code -> Run inspection by name
В строке поиска находим наш инспектор. Выбираем для каких файлов его запустить. Далее в панели вы будете видеть список мест, в которых это найдено. Вызываем контекстное меню и применяем это для всех файлов или для одного (называется Apply Fix: convert to short syntax).
Пошаговый процесс выполнения:
- Для запуска инспекции перейдите в меню Code → Run Inspection by Name (или используйте соответствующее сочетание клавиш).
- В открывшемся диалоговом окне введите в поисковую строку название инспектора: «Traditional syntax array literal detected».
- После выбора целевой инспекции укажите скоуп файлов, к которым необходимо применить проверку (можно ограничиться конкретным каталогом, всем проектом или пользовательским набором файлов).
- По завершении анализа в нижней панели будет сформирован список всех обнаруженных вхождений, сгруппированных по файлам и позициям в коде.
- Для применения автоматического исправления вызовите контекстное меню (правая кнопка мыши) на любом элементе списка и выберите опцию
Apply Fix: convert to short syntax. - Инструмент позволяет применить изменения как к выбранному отдельному элементу, так и ко всем найденным вхождениям одновременно, что значительно ускоряет процесс миграции.
Важно отметить, что данная инспекция помимо замены синтаксиса корректно обрабатывает сложные вложенные структуры, сохраняя при этом читаемость и форматирование исходного кода. Рекомендуется после выполнения автоматической замены запустить тестовый прогон и проверить код через встроенный анализатор PhpStorm для выявления потенциальных проблем.
Таким образом, использование специализированного инструментария IDE позволяет выполнить масштабный рефакторинг с минимальными временными затратами и снижением риска внесения ошибок в рабочий код.