#
# 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 Error – The directory is not writable by server.

    When trying to use the insert image functionality in Magento if you receive an error saying: “The di ...

  2. Select Statement Syntax [AX 2012]

    Applies To: Microsoft Dynamics AX 2012 R3, Microsoft Dynamics AX 2012 R2, Microsoft Dynamics AX 2012 ...

  3. LightOj1388 - Trapezium Drawing(求梯形点的坐标)

    题目链接:http://lightoj.com/volume_showproblem.php?problem=1388 题意:已知梯形的点A B的坐标,以及b c d的长度,求C D两点的坐标:默认A ...

  4. Android调用WCF

    http://www.cnblogs.com/davidgu/archive/2012/05/16/2504182.html

  5. xml架构管理器

    http://technet.microsoft.com/zh-cn/dd489278

  6. C# 3.0 LINQ的准备工作

    局部变量 隐式类型允许你用var修饰类型.用var修饰只是编译器方便我们进行编码,类型本身仍然是强类型的,所以当编译器无法推断出类型时(例如你初始化一个变量却没有为其赋值,或赋予null,此时就无法推 ...

  7. 执行shell脚本的几种方法及区别

    执行shell脚本的几种方法及区别 http://blog.csdn.net/lanxinju/article/details/6032368 (认真看) 注意:如果涉及到脚本之间的调用一定要用 . ...

  8. sequelize翻译(1)

    第一次翻译(由mongoose转了mysql) v 3.0.0 1.Sequelize类 2.sequelize对象 3.sequelize.define()返回的表对象 4.表对象的方法 1.Seq ...

  9. 【转】解决:fatal error C1083: 无法打开预编译头文件

    http://blog.csdn.net/aafengyuan/article/details/7988584 是这样的,我创建了一个空项目,并通过"项目属性>C/C++>预编译 ...

  10. Git撤销操作命令

    使用Git的过程中,失误无法避免,虽然Git很强,但是有些失误,无法挽回.在这里我介绍一些Git的撤销命令. 撤销对文件的修改 如下图所示的情况,你修改了文件,但是不想保存对文件的修改. 根据具体情况 ...