Re: [急問]PHP+MySQL+Smarty 輸出問題

看板PHP作者 (三重捷運套房頂讓)時間14年前 (2011/03/14 23:06), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
------------恕刪------------ : class程式碼如下 : class OutputList { : var $ouput_list = array(); : function OutputList (&$db) { : $sql = "select * from project left join category on ". : "project.project_no = category.project_no left join items on ". : "category.category_no = items.category_no order by ". : "project.project_no,category.category_no,items.items_no"; : $this->ouput_list = &$db->getAll($sql); : } : function getList(){ : return $this->ouput_list; : } : } 你在建構子裡面select所有的資料出來 假如你以後加了其他的method 例如:新增,刪除之類的... 在呼叫其他其他method時候,建構子一樣會被呼叫 感覺上會做多餘的動作 而且假如資料量很多...比如說幾十萬筆資料 每次要新增或修改資料都要把幾十萬筆資料讀出來... 資料庫會loading很重吧@@ 假如class只有一個method,或許你可以考慮寫成function就好 假如要寫成class 可以考慮 class OutputList { var $db=null; function OutputList (&$db) { $this->db = $db; } function getList(){ $sql = "select * from project left join category on ". "project.project_no = category.project_no left join items on ". "category.category_no = items.category_no order by ". "project.project_no,category.category_no,items.items_no"; return $this->db->getAll($sql); // return $this->ouput_list; // PS.假如資料要return,可以不用存成變數再return; } function add($data){ } function edit_project($project_no,$data){ } function delete_project($project_no){ } } 我想這樣閱讀也會比較好閱讀 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 58.115.51.185 ※ 編輯: walilecow 來自: 58.115.51.185 (03/14 23:18) ※ 編輯: walilecow 來自: 58.115.51.185 (03/14 23:19) ※ 編輯: walilecow 來自: 58.115.51.185 (03/14 23:23)

03/17 09:40, , 1F
謝謝你的指導!
03/17 09:40, 1F
文章代碼(AID): #1DVYxjsi (PHP)
文章代碼(AID): #1DVYxjsi (PHP)