|  | 
 
| header和footer的引用,有很多种办法,hex的hmvc是一种方案。 这里所公布的方案,是利用CI的扩展性实现的。
 具体的方式是(有数据库读取的header和footer):
 首先扩展一下核心类controller,在controller中把header和footer读取的数据库内容保存在数组中。
 在这个扩展类中,你需要定义个一个public变量(如public $_data = array();),并在扩展的controller中的构造函数中指认,即$this->_data[] = '';这种方式。
 第二,在需要使用header和footer的控制器中,定义与扩展controller中相同的public变量,如public $_data = array();然后在类中有输出的function中,用$this->load->view('your_view',$this->_data)输出。
 第三,就是header和footer的输出位置。你可以在控制器中输出,也可以在试图view中输出,具体哪种方式并不固定,主要看项目的需求。
 第四,就是缓存的问题。如果不缓存,每次扩展的controller被extends一次,都要读取相应的数据库。因此,可以考虑论坛中的各种缓存方案。
 CI,我个人认为,在保证原始的功能前提下,是应该能扩展就扩展的(貌似CI的精华也在于此)。在一些项目中,比如权限控制、统计等等,扩展核心类将会极大的减少代码数量,当然,这只是个人的看法。
 因为内容比较简单,所以没贴出代码。欢迎探讨!
 很久没在论坛上发帖了……
 | 
 |