#
# 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. SQL Server 2008 R2[ALTER]列属性修改

    1:向表中添加字段 Alter table [表名] add [列名] 类型 2:  删除字段 Alter table [表名]  drop column [列名] 3:  修改表中字段类型 (可以修 ...

  2. JQuery:JQuery遍历详解

    JQuery:遍历一.什么是遍历?jQuery 遍历,意为"移动",用于根据其相对于其他元素的关系来"查找"(或选取)HTML 元素.以某项选择开始,并沿着这个 ...

  3. MySQL性能优化(一)

    MySQL参数:innodb_flush_log_at_trx_commit和sync_binlog innodb_flush_log_at_trx_commit和sync_binlog是MySQL的 ...

  4. ps、grep和kill联合使用杀掉进程(转)

    例如要杀掉hello这个进程,使用下面这个命令就能直接实现.   ps -ef |grep hello |awk '{print $2}'|xargs kill -9 这里是输出ps -ef |gre ...

  5. Android Error:Execution failed for task ':app:mergeDebugResources'. > Crunching Cruncher bg_btn.9.png

    使用Android Studio来进行图片背景设置,编译时发生了一个mergeDebugResources异常. 异常原因 这个异常的意思是对资源合并发生错误,那就是我使用的图片资源有问题,我使用的图 ...

  6. Encode & decode

    1. 埃特巴什码 (Aitebashen Password) Definition: 最后一个字母代表第一个字母,倒数第二个字母代表第二个字母. 常文:a b c d e f g h i j k l ...

  7. centos 下 django 1.8 配置好后 admin 后台无法显示 样式解决办法

    解决前 解决命令 [root@ayibang-server static]# cat /etc/nginx/conf.d/office_djaong_uvpv.conf server { listen ...

  8. Fluentd 例子

    0. 安装.启动 安装 curl -L https://toolbelt.treasuredata.com/sh/install-redhat-td-agent2.sh | sh 更新:最近貌似会安装 ...

  9. html 把左框的选中项添加到右框

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  10. JSON 字符串 与 java 对象的转换

    jsonLib 经典文章:http://json-lib.sourceforge.net/xref-test/net/sf/json/TestJSONObject.html // 引入相应的包 //j ...