zoukankan      html  css  js  c++  java
  • 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,表示不过期,除非你删除。注意,缓存的时间单位为秒。

  • 相关阅读:
    [HNOI2002]营业额统计
    HDU 1374
    HDU 3345
    HDU 2089
    Graham扫描法
    Codeforces 1144D Deduction Queries 并查集
    Codeforces 916E Jamie and Tree 线段树
    Codeforces 1167F Scalar Queries 树状数组
    Codeforces 1167E Range Deleting
    Codeforces 749E Inversions After Shuffle 树状数组 + 数学期望
  • 原文地址:https://www.cnblogs.com/camelroyu/p/5645832.html
Copyright © 2011-2022 走看看