2012-04-28 25 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

你可以在你的IDE或代碼編輯器PHP腳本正則表達式的文本搜索。 '/ \ $([A-Z0-9 _] +)\ s?=)/'應該可以工作。 – Nadh 2012-04-28 17:41:51

回答

1

您可以使用get_defined_vars函數,它將返回所有變量作爲數組。

請看php.net網站例如

+0

感謝您的回答,但這需要在非運行的應用程序上完成(即在源代碼中)。我認爲上面的正則表達式應該可以做到這一點。 – user749330 2012-04-29 09:51:38

相關問題