推 catjimmy:謝謝你的指導! 03/17 09:40
: 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)
------------恕刪------------