2012-04-28 1 views
0

Во-первых - некоторый фон. У нас есть файл config.php, который перечисляет несколько переменных и параметров в следующем формате:Определить все переменные верхнего регистра в проекте PHP (и заменить что-то еще)

$MY_EMAIL_ADDRESS = '[email protected]'; 
$MY_WEBSITE   = 'www.test.com'; 
$SOMETHING_ELSE  = 'foobar'; 

Я хотел бы, чтобы заменить их более разумным (и безопасный) имена как часть массива, на протяжении всего проекта PHP. В основном, мы можем сделать это более надежно: Get PHP variable value via Ajax with variable name as parameter

Мы также забыли некоторые из этих имен переменных, чтобы они использовались во всем проекте, но, возможно, не были документированы - следовательно, поиск по очереди будет сложным ,

Есть ли способ, которым я могу искать файлы php для любых значений, начинающихся со знака доллара ($), и тогда они состоят только из букв верхнего регистра и, возможно, для подчеркивания?

$MY_SETTING_NAME 

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

$CONFIG['MY_SETTING_NAME'] 

Спасибо!

+0

Вы можете сделать регулярное выражение поиска текста на PHP скриптов в вашем IDE или редактор кода. '/ \ $ ([A-Z0-9 _] +) \ s? =) /' Должен работать. – Nadh

ответ

1

Вы можете использовать функцию get_defined_vars, которая вернет все переменные в виде массива.

Пожалуйста, смотрите на сайте php.net, например

+0

Спасибо, что ответили, но это нужно сделать в нерабочем приложении (то есть в исходном коде). Я думаю, что ответ Regex выше должен сделать трюк. – user749330