2010-08-15 110 views
1

好吧,我的問題再次出現是一種最佳實踐/技術問題,所以我假設會有幾種不同的方法來處理這個問題。我應該如何處理Codeigniter應用程序中的錯誤

那麼,在什麼程度上我應該考慮錯誤處理?作爲一個例子,說我havee在我的模型基本功能,其檢索客戶記錄即

function get_customer($customer_id) { 

    $this->where('id',$customer_id); 
    $query = $this->db->get('customers'); 

    return $query->result(); 

} 

我應該把的東西,以檢查是否參數$ CUSTOMER_ID,存在並且是正確的類型?還是取決於應用程序的邏輯?例如,在某些情況下,除非設置了$ customer_id並且可能在控制器中檢查該函數,否則該函數將永遠不會被調用,但是在這裏也包含錯誤檢查的最佳做法是什麼?

此外,我應該使用類似try/catch的東西,並拋出一個異常,或者它可以就像($ customer_id!='')等簡單嗎?

回答

1

您正在使用控制器的上述功能嗎?確保變量$customer_id的類型正確且包含您所期望的最佳位置,您需要在將其發送到模型之前從控制器中進行檢查。控制器使您能夠通過重定向或其他方式顯示錯誤。

+0

這將是另一種說錯誤檢查總是應該只作爲必要的方式?例如如果變量可以被認爲是正確的值類型,它可能來自一個選擇字段,我們不需要檢查它?但即使如此,如果我們確實需要檢查它是否在控制器中完成,肯定會創建大量冗餘代碼。精益控制器/胖子模式 - 粉絲們不會同意你的解決方案,那麼......或者? (因爲我自己不知道這個問題) – 2010-08-15 16:51:59

+0

兩件事,只是因爲POST數據來自一個