level 2
逸海雲天
楼主
利用好基类,可以在很大程度上提高我们编码的速度和效率,下面我列出我的基类供大家修改指正,呵呵,多多提意见哦!
[目标]:加快开发速度,同时又不失灵活性,集成curd的大部分功能,并集成查找,数据验证等功能
[代码]: <?php
class BaseAction extends Action{
protected $dbname='';
protected function _initialize(){
header("Content-Type:text/html; charset=UTF-8");
$this->dbname=(''==$this->dbname)?$this->name:$this->dbname;
}
//下面定义预处理函数
protected function _bf_index(){} //预执行函数-index;
//如果是用视图的话可以在_bf_index()函数中指明视图的名称即$this->dbname="高图";
protected function _bf_add(){} //预执行函数-add
protected function _bf_edit(&$vo){} //预执行函数-edit
protected function _bf_insert(){} //预执行函数-insert
protected function _af_insert($id=''){}//预执行函数-完成insert后执行
protected function _bf_update(){} //预执行函数-update
protected function _af_update(){} //预执行函数-完成update后执行
protected function _bf_delete(){} //预执行函数-delete
protected function _af_delete($ids=''){} //预执行函数-delete后续执行
protected function _checkdata($method=0){} //预执行函数-数据校验
protected function _filter(&$condition){} //预执行函数-变量过滤
public function index(){
$this->_bf_index();//执行预处理函数_bf_index
$search=$condition=array();//初始化$search,$condition变量,$search为view模块的查询值,$condition为数据库的最终查询条件
//处理查询参数,用户可以选择查件查询(支持分页查询,但有一bug,中文参数会乱码,哪位改改??)
if(isset($_POST['my_search']))
{$search=$_POST['my_search'];}
else
{$search=$_GET;$search['p']=$search['order']=$search['sort']=null;}
$search=array_filter($search,'value_filter');//过滤无效的条件,以方便处理,值为负数,为空则不进行处理,节省处理开销
if (count($search)==0)
{$search=$condition=array();}
else
{ if (isset($search['data']))
{$search['data']=urldecode($search['data']);}
$condition = $search;
$this->_filter($condition);//对一些较特殊的查询条件进行处理
}
$this->assign('my_search',$search);//将查询的条件传递给view中以供显示
$model = D($this->dbname);
if(!empty($model)) {$this->_list($model,$condition,$search);}
2010年06月11日 06点06分
1
[目标]:加快开发速度,同时又不失灵活性,集成curd的大部分功能,并集成查找,数据验证等功能
[代码]: <?php
class BaseAction extends Action{
protected $dbname='';
protected function _initialize(){
header("Content-Type:text/html; charset=UTF-8");
$this->dbname=(''==$this->dbname)?$this->name:$this->dbname;
}
//下面定义预处理函数
protected function _bf_index(){} //预执行函数-index;
//如果是用视图的话可以在_bf_index()函数中指明视图的名称即$this->dbname="高图";
protected function _bf_add(){} //预执行函数-add
protected function _bf_edit(&$vo){} //预执行函数-edit
protected function _bf_insert(){} //预执行函数-insert
protected function _af_insert($id=''){}//预执行函数-完成insert后执行
protected function _bf_update(){} //预执行函数-update
protected function _af_update(){} //预执行函数-完成update后执行
protected function _bf_delete(){} //预执行函数-delete
protected function _af_delete($ids=''){} //预执行函数-delete后续执行
protected function _checkdata($method=0){} //预执行函数-数据校验
protected function _filter(&$condition){} //预执行函数-变量过滤
public function index(){
$this->_bf_index();//执行预处理函数_bf_index
$search=$condition=array();//初始化$search,$condition变量,$search为view模块的查询值,$condition为数据库的最终查询条件
//处理查询参数,用户可以选择查件查询(支持分页查询,但有一bug,中文参数会乱码,哪位改改??)
if(isset($_POST['my_search']))
{$search=$_POST['my_search'];}
else
{$search=$_GET;$search['p']=$search['order']=$search['sort']=null;}
$search=array_filter($search,'value_filter');//过滤无效的条件,以方便处理,值为负数,为空则不进行处理,节省处理开销
if (count($search)==0)
{$search=$condition=array();}
else
{ if (isset($search['data']))
{$search['data']=urldecode($search['data']);}
$condition = $search;
$this->_filter($condition);//对一些较特殊的查询条件进行处理
}
$this->assign('my_search',$search);//将查询的条件传递给view中以供显示
$model = D($this->dbname);
if(!empty($model)) {$this->_list($model,$condition,$search);}