#
# ThinkPHP 3.1.2 输出和模型使用
#
讲师:赵桐正
微博:http://weibo.com/zhaotongzheng
 
 
本节课大纲:
一、ThinkPHP 3 的输出      (重点)
    a、通过 echo 等(PHP原生的输出方式)在页面中输出。
 
** V -- 负责输出(页面显示),调用一个方法,输出模板文件。
 
    b、通过display方法输出(推荐)
        在『模块』中用$this->display();=》指定模板输出
        在 项目目录/应用目录/tpl/模块名/{方法名.html} --> 这是模板文件。
 
        ** 将【模块】中的动态数据 交给 【模板】
        ** 想分配变量可以使用assign方法
        在【模块】中: $this->assign('data',$name); ->data是一个标识
        在【模板】中:使用定点符({$data} -- 花括号和$ + 标识)嵌入这个变量(data)
        
        ** 『模板』花括号 -》 是定界符(ThinkPHP默认的) -- 不太建议使用这种默认的花括号定界符。
        @@ 如何修改左右定界符??        
    c、修改左右定界符
        需要修改配置文件中的配置项
        'TMPL_L_DELIM'=>'<{', //修改左定界符
        'TMPL_R_DELIM'=>'}>', //修改右定界符
 
二、ThinkPHP 3 的【模型】使用  (重点)
    M -- 负责对数据的操作,如:从数据库中读取数据。
    
    ** 如何从DB读取数据。(获取数据)
    *** 新建数据库,打开localhost/phpmyadmin,
        新建数据库:【库名】,获取【utf8_general_ci】
        表结构:  
        存储引擎:MyISAM;(默认选择的InnoDB可以开启“事务”)
        整理:utf8_general_ci
    *** 插入数据
    
    ** 怎么把数据取出来???
    1、(在『模块』中操作)要实例化一个类,
    
    需要在方法中通过new Model(表名)的形式操作数据库
        $m=new Model('User'); //建议U大写
        $arr=$m->select(); //select方法 -》 返回表中所有数据。
    ***** var_dump($arr); //var_dump方法会返回变量的值,
    ***** dump($arr,1,"<pre>",0); //用于格式化输出变量值
        
    'DB_TYPE'=>'mysql',   //设置数据库类型
    'DB_HOST'=>'localhost',//设置主机
    'DB_NAME'=>'thinkphp',//设置数据库名
    'DB_USER'=>'root',    //设置用户名
    'DB_PWD'=>'',        //设置密码
    'DB_PORT'=>'3306',   //设置端口号
    'DB_PREFIX'=>'tp_',  //设置表前缀
 
    /*new class*/
    
    也可以使用DSN方法进行配置(在配置文件中)
        'DB_DSN'=>'mysql://root:111@localhost:3306/thinkphp',//使用DSN方式配置数据库信息
        //间隔符是冒号(:)
    
    *** 如果两种方式同时存在,以『DSN方式为优先』
 
    @@ 还有一种【简单实用模型的方式】
        M() 等效为 new Model();
        
            $m=M('User');
            $arr=$m->select();
 
    使用模型的实例可以对数据进行操作,操作的工作一般就是对数据库进行 【增删改查 CURD】  
    
    增 -C Create $m->add()//实际的方法
    删 -D Delete $m->delete()
    改 -U Update $m->save()//实际的方法
    查 -R Read   $m->select()
 
三、补充                   (了解)
    
    a、在【模板】中,可以遍历数组
        <volist name='data' id='vo'>
        <!-- name='data' 是volist的标识名(data)-->
            <{$vo.id}>----<{$vo.username}>-----<{$vo.sex}><br/>
        </volist>
        
    b、我们可以开启调试功能中的page_trace
        1.开启调试功能
            //3.开启调试模式
            define('APP_DEBUG',true);
        2.我们需要设置配置文件,开启页面trace
            'SHOW_PAGE_TRACE'=>true,//开启页面Trace

[ThinkPHP] 输出、模型的使用的更多相关文章

  1. thinkphp在模型中自动完成session赋值

    相信用过thinkphp的用户都知道thinkphp的模型可以完成很多辅助功能,比 如自动验证.自动完成等,今天在开发中遇到自动完成中需要获取session值 然后自动赋值的功能,具体看代码:clas ...

  2. ThinkPHP 关联模型(二十)

    原文:ThinkPHP 关联模型(二十) ThinkPHP关联模型 两表关联查询:Message 和  user  关联条件uid(参考手册:模型->关联模型) 步骤: 一:创建Message表 ...

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

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

  4. ThinkPHP 的模型使用详细介绍--模型的核心(七)

    原文:ThinkPHP 的模型使用详细介绍--模型的核心(七) 注意:本节是ThinkPhp框架对数据操作的核心处理部分 大家还是在这里看清楚可以将其剪切放到代码编辑器中查看 本章节给大家着重介绍模型 ...

  5. ThinkPHP 的模型使用对数据库增删改查(五)

    原文:ThinkPHP 的模型使用对数据库增删改查(五) ThinkPHP 的模型使用 // 直接连接数据库,但是得先去配置文件中配置下才行 class IndexAction extends Act ...

  6. thinkPHP 输出及其模板调用(三)

    原文:thinkPHP 输出及其模板调用(三) ThinkPHP 的输出(重点) a.通过 echo 等PHP原生的输出方式在页面中输出 b.通过display方法输出(thinkphp\Home\L ...

  7. SpringMVC(十二):SpringMVC 处理输出模型数据之@ModelAttribute

    Spring MVC提供了以下几种途径输出模型数据:1)ModelAndView:处理方法返回值类型为ModelAndView时,方法体即可通过该对象添加模型数据:2)Map及Model:处理方法入参 ...

  8. SpringMVC(十一):SpringMVC 处理输出模型数据之SessionAttributes

    Spring MVC提供了以下几种途径输出模型数据:1)ModelAndView:处理方法返回值类型为ModelAndView时,方法体即可通过该对象添加模型数据:2)Map及Model:处理方法入参 ...

  9. SpringMVC(十):SpringMVC 处理输出模型数据之Map及Model

    Spring MVC提供了以下几种途径输出模型数据: 1)ModelAndView:处理方法返回值类型为ModelAndView时,方法体即可通过该对象添加模型数据: 2)Map及Model:处理方法 ...

  10. SpringMVC(九):SpringMVC 处理输出模型数据之ModelAndView

    Spring MVC提供了以下几种途径输出模型数据: 1)ModelAndView:处理方法返回值类型为ModelAndView时,方法体即可通过该对象添加模型数据: 2)Map及Model:处理方法 ...

随机推荐

  1. MAGENTO程序结构图

    Magento程序结构图(Program Structure Diagram): /app – 程序根目录 /app/etc – 全局配置文件目录 /app/code – 所有模块安装其模型和控制器的 ...

  2. Cupid's Arrow---hdu1756(判断点与多边形的位置关系 模板)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1756 题意:中文题,套模板即可: /* 射线法:判断一个点是在多边形内部,边上还是在外部,时间复杂度为 ...

  3. recordcount

    rs.recordcount 有时不能取到数,这时 要更改游标为客户端游标 .

  4. JavaScript学习基础部分

    JavaScript学习基础 一.简介 1.JavaScript 是因特网上最流行的脚本语言,并且可在所有主要的浏览器中运行,比方说 Internet Explorer. Mozilla.Firefo ...

  5. Swift-09-可空链式调用(Optional Chaining)

    我对这个的理解就是:我们有可能会用到其他的属性或者方法,当我们在使用其他的时候,可以使用点语法去访问另一个的属性,这样的使用,就形成了链式访问. 可空链式调用是一种可以请求和调用属性.方法及下表的过程 ...

  6. Session服务器配置指南与使用经验

    一.摘要 所有Web程序都会使用Session保存数据. 使用独立的Session服务器可以解决负载均衡场景中的Session共享问题.本文介绍.NET平台下建立Session服务器的几种办法, 并介 ...

  7. notepad++的环境变量

    notepad++的环境变量:当前目录:$(CURRENT_DIRECTORY) cmd /k cd /d $(CURRENT_DIRECTORY)文件名:$(NAME_PART)路径名:$(CURR ...

  8. iOS:城市级联列表的使用

    1.介绍: 现在越来越多的项目都用到了地址,尤其是电商O2O的购物平台,我之前做的教育产品和电商产品都用到了,而实现地址的设置用到的技术就是城市级联列表,即普遍的做法就是自定义选择器控件UIPicke ...

  9. Android ListView与ExpandableListView设置分割线divider

    listview设置分割线需要以下操作: lv.setDivider(getResources().getDrawable(R.drawable.diyline)); ExpandableListVi ...

  10. laravel-v4.0.9