#
# 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. 编写SqlHelper使用,在将ExecuteReader方法封装进而读取数据库中的数据时会产生Additional information: 阅读器关闭时尝试调用 Read 无效问题,解决方法与解释

    在自学杨中科老师的视频教学时,拓展编写SqlHelper使用,在将ExecuteReader方法封装进而读取数据库中的数据时 会产生Additional information: 阅读器关闭时尝试调用 ...

  2. 转:ASP.NET MVC扩展之HtmlHelper辅助方法

    1.什么是HtmlHelper辅助方法?其实就是HtmlHelper类的扩展方法,如下所示: namespace System.Web.Mvc.Html { public static class F ...

  3. CodeForce727C. Guess the Array---交互题

    题目链接:http://codeforces.com/contest/727/problem/C 题意:交互题: printf(“? i j\n”); fflush(stdout); 然后scanf( ...

  4. 解决.Net设置只读、隐藏后后台获取不到值的问题

    在前台页面上放了几个textbox,用 ReadOnly=true设置不可编辑,用visible="False"设置不可见 用jquery给textbox赋值后在后台页面获取不到t ...

  5. 24C02 Twr

    连续写24C02,只有第一次能够成功,后面写都失败了.这次调整写的时间间隔.调成了5ms,才成功. 查看datasheet,发现有一个tWR参数.表示写的最小时间间隔.这个时间应该是内部写入所需要的时 ...

  6. 查看CentOS上Apache位置,版本,停止,启动

    查看Apache是否被安装: [root@asg11 ~]# find / -name 'httpd'/etc/sysconfig/httpd/etc/httpd/etc/logrotate.d/ht ...

  7. 浅谈Java回调机制

    像许多网上介绍回调机制的文章一样,我这里也以一个现实的例子开头:假设你公司的总经理出差前需要你帮他办件事情,这件事情你需要花些时间去做,这时候总经理肯定不能守着你做完再出差吧,于是就他告诉你他的手机号 ...

  8. iOS:项目中用到的Cookie

    1.介绍: 做了这么长时间开发,Cookie真是用的不多,可是现在不一样了,这次的项目我用到了Cookie.其实,Cookie的使用在项目中愈加的频繁,一般情况下,提供的接口是用Cookie来识别用户 ...

  9. JavaScript:通过id来进行元素的取得

    每一个HTML元素都使用id来进行一个标注,随后可以通过document.getElementById(“ID名称”)取得指定的ID元素对象,取得元素对象之后就可以对其进行操作. 但是document ...

  10. python模块(sys)

    SYS模块 sys.argv # 命令行参数List,第一个元素是程序本身路径 sys.exit(n) # 退出程序,正常退出时exit(0) sys.version # 获取Python解释程序的版 ...