看板 PHP 關於我們 聯絡資訊
------------恕刪------------ : 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)
catjimmy:謝謝你的指導! 03/17 09:40