場景: 我們正在將應用程序從PHP 4轉換到PHP 5.應用程序需要能夠在PHP 4上工作一點點而這意味着不能使用PHP 5特定元素。我們只是試圖確保應用程序在兩個平臺上都能正常工作。PHP 4到PHP 5 - isset檢查布爾if語句
有很多條件句看起來像這樣的應用程序:
if ($variable) { // do something }
一些變量的最終並不是在所有的定義,我們正在努力減少失誤次數(還有很多)。
爲了解決這些錯誤,我們正在增加在各個領域的檢查是這樣的:
if (!isset($variable)) $variable = "";
或
if (!empty($variable)) { // do something }
問題: 有誰知道一個簡單的方法來修復這些錯誤。問題是這些變量被用於跨文件(通過includes),並且定義該變量可能會改變該文件中的邏輯流,如果它執行像(if(!isset($ variable)){// do something})的檢查, 。
這個問題的關鍵在於減少跟蹤每個個體對這些變量使用的錯誤和時間消耗。目前,我們不得不徹底檢查變量正在做什麼(這可能需要很長時間),或者我們正在做一個「火和忘記」/希望它固定的糾正方法。
- 編輯 - 有誰知道像cppcheck的PHP程序,可以以某種方式引用這些變量或創建某種鏈接,可以找到錯誤和鏈接可能的引用? (我希望這是有道理的。)
這有什麼錯用'isset'或'empty'?只是這是很多工作? –
對我來說,這聽起來像重寫(直接到PHP5.3)將比重構更簡單。 – KingCrunch
@ExplosionPills - 它有時可以改變程序的邏輯流程。如果有條件檢查是否設置,則設置變量可能會在稍後中斷它。這是一個很大的應用程序。 – teynon