header这种公用的视图中读取数据库问题,怎么简化代码?
我的项目中有一个header.php视图,是所有控制器都要使用到的,因为要从数据库中读取当前的上课班级,所以就写了一个model<?php
class Configs extends Model{
function Configs()
{
parent::Model();
}
function getActiveClass(){
$this->db->select('active_class');
$q=$this->db->get('configs')->result_array();
return $q['active_class'];
}
}
然后在控制器中写
//取当前上课班级,渲染头部视图
$this->load->model('Configs','',True);
$active_class=$this->Configs->getActiveClass();
$this->load->view('common/header',array('title'=>'网站首页',
'active_class'=>$active_class));
问题来了,是不是每个调用了header.php视图的控制器都要写上面这段代码呢,如何实现代码复用呢?
每次更新课程时,生成静态页面,然后根据需要,在页面里面<!-- #include virtual="/file/ grade1.html" --> 把重复的代码写到一个plugin中,然后load进来,如何?
或者写成一个php,include进来?
把重复的代码写到一个plugin中,然后load进来,如何?
或者写成一个php,include进来?
tmnh168 发表于 2009-9-16 23:30 http://codeigniter.org.cn/forums/images/common/back.gif
好主意,可以让2行代码变成1行,呵呵 你的类名称真够。。。 楼主可能需要的是 HMVC
http://codeigniter.org.cn/forums/thread-1319-1-1.html 汗,实现起来好麻烦啊 我现在的方法是写成一个helper..然后自动载入就可以直接在那些公用页面使用了.
但是没有比较过这样的性能影响大不大.也盼各位了解的可以讲一下. 汗,实现起来好麻烦啊
webyjh 发表于 2009-9-17 11:15 http://codeigniter.org.cn/forums/images/common/back.gif
直接用我做的 HMVC 类库就可以了呀。 貌似我说的哪种方法最简单,哈哈
页:
[1]
2