#
# 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. 简易自定义下拉菜单 与简易默认下拉html片段

    简易自定义下拉选择 html片段 html: <div class="select_box province"> <div class="selecte ...

  2. The Bip Buffer - The Circular Buffer with a Twist

    Introduction The Bip-Buffer is like a circular buffer, but slightly different. Instead of keeping on ...

  3. LightOj1190 - Sleepwalking(判断点与多边形的位置关系--射线法模板)

    题目链接:http://lightoj.com/volume_showproblem.php?problem=1190 题意:给你一个多边形含有n个点:然后又m个查询,每次判断点(x, y)是否在多边 ...

  4. TestNG学习-001-基础理论知识

    此 文主要讲述用 TestNG 的基础理论知识,TestNG 的特定,编写测试过程三步骤,与 JUnit4+ 的差异,以此使亲对 TestNG 测试框架能够有一个简单的认知. 希望能对初学 TestN ...

  5. 我的工具箱之Opera浏览器

    下载地址:http://pan.baidu.com/s/1gdVQA11 刚出来时挺火的,后来有点渐趋式微了.

  6. 输出Java的GC信息

    -verbose:gc -XX:+printGC 可以打印GC的简要信息 [GC 4790K->374K(15872K), 0.0001606 secs] [GC 4790K->374K( ...

  7. The command 'new_value' for SQLPlus

    Format: column column_name new_value var_name Meaning: use the column_name of a select statment to c ...

  8. T4模版生成多个实体文件时,提示找不到 Host

    T4模版生成多个实体文件时,提示找不到 Host 使用以下方法,把hostspecific改为true就可以了 hostspecific:有效值true.false,默认为false.如果将此特性的值 ...

  9. JRE和JDK的区别

    1. 定义 JRE(Java Runtime Enviroment)是Java的运行环境.面向Java程序的使用者,而不是开发者.如果你仅下载并安装了JRE,那么你的系统只能运行Java程序.JRE是 ...

  10. iOS UICollectionView之二(垂直滚动)

    #import <UIKit/UIKit.h> @interface AppDelegate : UIResponder <UIApplicationDelegate> @pr ...