1、Widget类的使用方法:
第一步:在Action同级目录中新建Widget文件夹(独立分组需要自己建立)
第二步:根据不同功能在Widget文件夹中建立不同的Widget类,如热门文章HotWidget.class.php,最新文章NewWidget.class.php等
第三步:在Widget文件夹中根据不同类的名称建立相应名称的模板文件夹,如HotWidget的模板文件夹问Hot,并在里面新建一个模板文件Hot.html(注意大小 写区分),在模板文件中接收下一步传递过来的数据,并显示。
第四步:Widget类,定义细则
Class HotWidget extends Widget{// 都继承与Widget类,3.2版本废弃了Widget类 改成了和控制器一样Controller实现widget function render($data){//使用render方法 $hotList = M('blog')->field(array('id','title'))->limit(5)->select();//调用热点文章 $show['hot'] = $hotList;//数组方式,用于将数据传递给模板 return $this->renderFile('',$show);//Widget的renderFile方法用于载入模板文件,并赋值。这里只是载入,必须返回,前端才能使用。 } }
第五步:前端模板调用定义好的Widget类方法
{:W('Hot',[参数如果需要])} //这里的参数是数组形式,在上面类定义中render($data)中的$data用于接收。
2、where 连贯操作IN用法:(参考表达式查询方式)可以用于选择或者删除多条数据
假设 $cid = array(1,3,5,7,9);
$where = array('id'=>array('IN',$cid));
连贯操作where中条件数组,有两个以上条件时,默认关系是AND
$where = array('name'=>$username,'password'=>$password),转化成SQL为name=$username AND password=$password,如果要改变逻辑关系可以在$where数组中加入_logic=>'or'方式改变。
3、S(缓存名,缓存数据,保存周期单位为秒)函数
建立缓存 S('slist',$list,3600) 表示将$list数据建立缓存,名为slist,缓存时间是1小时
读取缓存 $list = S('slist') 将保存的名为slist的缓存数据读取,保存为$list,在类中使用该数据。