讓 PHP header 之後的程式不執行的方法

有寫過 PHP 與 ASP 的人應該知道,在 ASP 中 header 之後的程式是不會執行的,然而在 PHP 中就不一樣囉!PHP 中 header 之後程式一樣會執行,舉例來說有個程式的邏輯是這樣

判斷是否有輸入資料 → 如果沒有輸入則 header 回首頁 → 如果有輸入則執行撈資料的動作

一般簡單的寫法是用 if else 來判斷,但是執行撈資料的部分非常多的時候(有時候客戶要求處理的功能很多,有可能有數千行程式碼)這個時候再用 if else 來處理雖然也可以,只不過後續接手的工程師可能會很頭大,說不定哪天自己也忘了當初怎麼寫,還要在幾千行程式碼中找到原來是用 if else。小系統沒差,用 if else 即可,如果系統較大,那就不建議用這樣的寫法囉!(話說 if else 用多了也是很吃資源的)

可以用個簡單的方法就讓 PHP header 之後的程式不要執行而直接跳出,那就是 exit();

exit();
這玩意兒很簡單,這裡舉個簡單的範例

if(資料輸入為空值){
 header("location:index.php");
 exit();
}

//接著是後面一大堆的程式碼

我們在這範例中只用了一次 exit(); 就可以讓後面一大堆的程式碼全部不執行,直接跳出這支程式,如此一來省去 if else 的寫法,同時也在程式一開始就把是否有資料輸入的判斷處理完成,後面程式不執行可以省下很多的系統資源,試試看吧!

© Copyright webtech.tw Since 2010