作者walilecow (三重捷运套房顶让)
看板PHP
标题Re: [急问]PHP+MySQL+Smarty 输出问题
时间Mon Mar 14 23:06:18 2011
------------恕删------------
: 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)
1F:推 catjimmy:谢谢你的指导! 03/17 09:40