排除表單校正的情況
比如在控制器中要調一個Model
的方法,那麼傳到這個方法裡的其中一個參數,比如$city_id
其實這個$city_id
即可以是int
也可以是一個array
那麼這個時候POST過來的的$city_id
大家一般都是在哪裡校正的。
如果是model校正,感覺多調了一次模型,不好
但是如果在控制器校正,但是我覺得模型還是最好校正一次,以防其他人調用我自己方法的時候也沒在控制器校正就直接查資料了。但是這樣的話控制器和模型就對資料做了2次同樣的校正
所以問下大家,在平時的編碼過程中大部分情況下是怎樣處理的?
回複內容:
排除表單校正的情況
比如在控制器中要調一個Model
的方法,那麼傳到這個方法裡的其中一個參數,比如$city_id
其實這個$city_id
即可以是int
也可以是一個array
那麼這個時候POST過來的的$city_id
大家一般都是在哪裡校正的。
如果是model校正,感覺多調了一次模型,不好
但是如果在控制器校正,但是我覺得模型還是最好校正一次,以防其他人調用我自己方法的時候也沒在控制器校正就直接查資料了。但是這樣的話控制器和模型就對資料做了2次同樣的校正
所以問下大家,在平時的編碼過程中大部分情況下是怎樣處理的?
我一般都是在進行資料庫讀寫資訊之前進行過濾的。如下:
user_modelpublic function get_user_name($uid) { $uid = intval($uid); //校正 if(!$uid) { return FALSE; }esle{ .... //資料庫查詢操作 }}controllerpublic function user() { $uid = $_GET['id]; if(!M('user_model')->get_user_name($uid)){ return FALSE; } //後續操作}
架構的話有內建的過濾方法,pdo的的機制也挺高的;
那就都校正,哈哈,反正資料庫操作之前是必須校正的~
仔細想了想,還是模型裡面過濾更合理