hdwiki中model模块的应用
control中调用model
原则是这样的,如果你的这个model在本control中大部分方法中都要用到,那么,就写在构造函数里面。
例如,名字为doc的control的构造函数如下:
function control(& $get,& $post){
$this->base( & $get,& $post);
$this->load("doc");
$this->load("category");
}
这里加粗的两个model,一个是doc,一个是category,都是本control每个方法差不多都要用到的,所以写到构造函数里面。如果不是这种情况,那么需要的时候再去load。例如:下面是浏览词条的时候,需要调用model名字为adv的。就是在使用前load的,并没有放到control的构造函数里面
function doview() {
......
$this->load('adv');
......
}
model中调用model,例如在名为adv的model中,有如下方法:
function view_filter($position){
......
$this->base->load('category');
......
}
这里加粗的就是关键的代码,因为每个model都有个属性base,这个就可以去load你想要的model了,使用起来也很简单。
使用HDwiki缓存
base类有个cache的属性,看如下代码:
function dodefault() {
$indexcache=$this->cache->getcache('indexcache',$this->setting['index_cache_time']);
if(!(bool)$indexcache){
$indexcache=...
$this->cache->writecache('indexcache',$indexcache);
}
}
要使用缓存,首先要给缓存取一个唯一的名字,这里例子中的缓存的名字就是“indexcache”,还要给你的缓存定一个过期时间,在getcache方法的第2个参数里面,如果为0,表示不过期,除非你删除。注意,缓存的时间单位为秒。
最新文章
- XML 概述 (可扩展标记语言)
- 四种MySQL存储引擎
- 转:关掉Archlinux中烦人的响铃
- SCI杂志更名时,如何计算影响因子?
- ECSHOP在线手册布局参考图--商品分类页 category.dwt
- 关于毕设WiFi选型
- iOS-设计模式之代理反向传值
- mvc of js
- 【LeetCode题意分析&;解答】40. Combination Sum II
- Eclipse中如何显示代码行
- parseInt原来是这样用的
- 平衡树Treap
- testXSS <;img src=";aa"; onerror=";javascript:alert(&#39;XSS&#39;);";/>;
- K8s(7)-安装Web UI
- MyBatis高级映射查询(3)
- User-Agent 信息汇总(拿去就能用)
- Python3 itchat微信获取好友、公众号、群聊的基础信息
- FunDA(6)- Reactive Streams:Play with Iteratees、Enumerator and Enumeratees
- bzoj 3190 赛车 半平面交
- Solaris11 Vsphere client tool 的鼠标问题
热门文章
- new操作符做了什么??
- First learning operation system
- AXIS2调用web service,返回结果用GZIP解压缩
- Leetcode: Trapping Rain Water II
- Lintcode: Wood Cut
- JS和JQUERY的区别
- 超炫的3D翻转模板
- [原创]java WEB学习笔记64:Struts2学习之路--主题
- [原创]java WEB学习笔记45:自定义HttpFilter类,理解多个Filter 代码的执行顺序,Filterdemo:禁用浏览器缓存的Filter,字符编码的Filter,检查用户是否登陆过的Filter
- C#控件:TabControl