public function getSomeFieldsByWhere($where, $fields, $num, $offset){
$this->db->select($fie ...
这样是可以了,那要是再加上like , order, group 这三的话,参数会增加大概6个,目前是4个,加起来是10个......:'(有点恐怖 张三的歌 发表于 2016-8-25 16:07
这样是可以了,那要是再加上like , order, group 这三的话,参数会增加大概6个,目前是4个,加起来是10个.... ...
一個一個參數丟,比較偏功能取向
就是我這個方法,要達到一個目的,例如 : 登入檢查
你也可以彈性取向,方法直接承接一個大的 $data
然後 Model 裡面再檢查這個 $data 有沒有某個 key 值,是不是陣列等等
當然還有另外一種是資料表取向
一個 Model 管一個資料表
使用公域 $this->table 來取值
調用給該 Model 各個方法使用
程式語言有很多種設計模式
可以去多看看,你會發現不一樣的世界
Closer 发表于 2016-8-25 16:17
一個一個參數丟,比較偏功能取向
就是我這個方法,要達到一個目的,例如 : 登入檢查
请教一下,在哪里可以看到更多人写的model呀 张三的歌 发表于 2016-8-25 17:29
请教一下,在哪里可以看到更多人写的model呀
github 吧
不過我大多是看同事的代碼學到的
所以也不知道 github 哪邊可以參考 XD
本帖最后由 喜剧之王 于 2016-9-9 09:13 编辑
我在想一个问题 如果你要写那么多参数,还封装成方法干什么? 链式查询不就是封装好的方法么,
public function page($data = array()){
if (!empty($array['where'])) {
$this->db->where($array['where']);
}
if (!empty($array['like'])) {
$this->db->like($array['like']);
}
}
这样子就可以哈,你只需要在DATA里穿你需要的参数就行,然后MODEL做个判断,
这样子 你只需要 page(array('where'=>array(1=>1))) 随你传几个参数 都能用, 有些需要自己改良一下~
正常功能, 实现即可, 防注入以及XSS之类的, 只需要下个防注入模块, 整合进来即可
页:
1
[2]