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,在类中使用该数据。

ThinkPHP第十八天(Widget类的使用,连贯操作where IN用法,缓存S函数使用)的更多相关文章

  1. ThinkPhp 3.2 数据的连贯操作

    ThinkPHP模型基础类提供的连贯操作方法(也有些框架称之为链式操作),可以有效的提高数据存取的代码清晰度和开发效率,并且支持所有的CURD操作. 使用也比较简单, 假如我们现在要查询一个User表 ...

  2. 11.ThinkPHP 3.1.2 连贯操作

    ==================================================== 一.常用连贯操作 1.where 帮助我们设置查询条件 2.order 对结果进行排序 $ar ...

  3. ThinkPHP框架模型连贯操作(八)

    原文:ThinkPHP框架模型连贯操作(八) Thinkphp的连贯操作使用起来也是很灵活: *可能这里有的mysql函数没全部罗列出来,大家可以举一反三,形式雷同 一.常用连贯操作 1.where ...

  4. MySQL数据库操作类(PHP实现,支持连贯操作)

    <?php /** * Author: suvan * CreateTime: 2018/2/27 * description: 数据库操作类(仅对接MySQL数据库,主要利用MySQLi函数) ...

  5. PHPEXCEL在thinkphp中封装成类使用

    PHPEXCEL在thinkphp中封装成类使用 标签: phpexcel导出导入thinkphp -- : 435人阅读 评论() 收藏 举报 分类: php() 版权声明:本文为博主原创文章,未经 ...

  6. ThinkPHP - 连贯操作

    /** * 连贯操作 * @return 无返回值 */ public function coherentOperation(){ //实例化模型 $user = M('User'); // +--- ...

  7. thinkphp 3.2 部分数据库连贯操作phpstorm helper 文件

    <?php class Helper { /** * 用于设置数据写入和查询是否严格检查是否存在字段. * 默认情况下不合法数据字段自动删除,如果设置了严格检查则会抛出异常 * 如: * str ...

  8. 【转】PHP实现连贯操作

    [第一种方案 __call] 我们在使用一些框架(如ThinkPHP)编码的时候,常用到这样的代码. M('User')->where(array('id'=>1))->field( ...

  9. thinkPHP--SQL连贯操作

    一.连贯入门 连贯操作使用起来非常简单,比如查找到 id 为 1,2,3,4 中按照创建时间的倒序的前两 位. //连贯操作入门 $user = M('User'); var_dump($user-& ...

随机推荐

  1. APUE读书笔记-第14章-高级I/O

    14.1 引言 *高级I/O包括非阻塞I/O.记录锁.系统V流机制.I/O多路转换(select和poll函数).readv和writev函数以及存储映射I/O(mmap) 14.2 非阻塞I/O * ...

  2. SPOJ QTREE4 lct

    题目链接 这个题已经处于花式tle了,改版后的spoj更慢了.. tle的话就多交几把... #include <iostream> #include <fstream> #i ...

  3. sass 语法实例

    sass基本语法 1.定义一个变量,变量定义以$开头,以冒号分隔开. $blue:#1875e7; div{ color:$blue; } 编译之后的css代码: div { color: #1875 ...

  4. 【ActionBar的使用】

    在AS工程中使用ActionBar 简单实用: 1.功能清单文件中指定主题标签属性Theme.Holo或其子类 <application android :theme="@androi ...

  5. vue.js自定义指令入门

    Vue.js 允许你注册自定义指令,实质上是让你教 Vue 一些新技巧:怎样将数据的变化映射到 DOM 的行为.你可以使用Vue.directive(id, definition)的方法传入指令id和 ...

  6. mysql中中文字符串的截取

    SET NAMES 'utf8'; SET v_length = character_length(citys); SET citys = left(citys COLLATE utf8_bin, v ...

  7. Mysql 如何做双机热备和负载均衡 (方法二)

    先简要介绍一下mysql双向热备:mysql从3.23.15版本以后提供数据库复制功能.利用该功能可以实现两个数据库同步,主从模式(A->B),互相备份模式(A<=>B)的功能. m ...

  8. Android 修改host文件的3种方法

    Android修改hosts文件的方法介绍 本文介绍三种Android手机修改hosts文 件的方法,但修改hosts文件一定要谨慎:Android手机hosts文件的换行符必须是n而不是window ...

  9. PHP学习(前言)

    PHP学习(前言) 都说做IT技术的都该写写博客,以前没写过,现在开始写写吧.不是给别人看,就当是自己的学习笔记了. 大三结束了,该找工作了,对web前端感兴趣,想从事前端工作,自然要会一门后台语言了 ...

  10. Auto login to your computer

    in run dialog, type in following words and enter Rundll32 netplwiz.dll,UsersRunDll On user account d ...