Мне был назначен проект с ассоциативными массивами без одинарных кавычек.
Пример:
$foo[bar]
Что должно быть:
$foo['bar']
Это генерирует уведомление PHP, и это очень плохая практика.
Цитата из PHP.net :
Это неправильно, но это работает. Причина в том, что этот код имеет неопределенную константу (bar), а не строку («bar» – заметьте кавычки). PHP может в будущем определять константы, которые, к сожалению, для такого кода имеют одно и то же имя. Это работает, потому что PHP автоматически преобразует голую строку (некорректную строку, которая не соответствует известному символу) в строку, содержащую голую строку. Например, если нет определенной константы с именем bar, тогда PHP будет заменять строку «bar» и использовать ее.
И это плохо для производительности, потому что он должен искать константу, прежде чем использовать 'key'
Поэтому мне было интересно, знает ли кто-нибудь сценарий, который может достичь этого, без необходимости вручную выполнять его по одному для каждого файла.
ОБНОВИТЬ:
Я использую Vim в качестве редактора, и я знаю, как использовать его команду поиска и замены в одном файле, однако я вижу две проблемы с этим:
Я не могу искать и заменять что-то вроде этого, потому что я не думаю, что он поддерживает регулярные выражения.
Он работает только в текущем открывшемся файле (насколько я знаю).