[ThinkPHP] 输出、模型的使用
#
# 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] 输出、模型的使用的更多相关文章
- thinkphp在模型中自动完成session赋值
相信用过thinkphp的用户都知道thinkphp的模型可以完成很多辅助功能,比 如自动验证.自动完成等,今天在开发中遇到自动完成中需要获取session值 然后自动赋值的功能,具体看代码:clas ...
- ThinkPHP 关联模型(二十)
原文:ThinkPHP 关联模型(二十) ThinkPHP关联模型 两表关联查询:Message 和 user 关联条件uid(参考手册:模型->关联模型) 步骤: 一:创建Message表 ...
- ThinkPHP框架模型连贯操作(八)
原文:ThinkPHP框架模型连贯操作(八) Thinkphp的连贯操作使用起来也是很灵活: *可能这里有的mysql函数没全部罗列出来,大家可以举一反三,形式雷同 一.常用连贯操作 1.where ...
- ThinkPHP 的模型使用详细介绍--模型的核心(七)
原文:ThinkPHP 的模型使用详细介绍--模型的核心(七) 注意:本节是ThinkPhp框架对数据操作的核心处理部分 大家还是在这里看清楚可以将其剪切放到代码编辑器中查看 本章节给大家着重介绍模型 ...
- ThinkPHP 的模型使用对数据库增删改查(五)
原文:ThinkPHP 的模型使用对数据库增删改查(五) ThinkPHP 的模型使用 // 直接连接数据库,但是得先去配置文件中配置下才行 class IndexAction extends Act ...
- thinkPHP 输出及其模板调用(三)
原文:thinkPHP 输出及其模板调用(三) ThinkPHP 的输出(重点) a.通过 echo 等PHP原生的输出方式在页面中输出 b.通过display方法输出(thinkphp\Home\L ...
- SpringMVC(十二):SpringMVC 处理输出模型数据之@ModelAttribute
Spring MVC提供了以下几种途径输出模型数据:1)ModelAndView:处理方法返回值类型为ModelAndView时,方法体即可通过该对象添加模型数据:2)Map及Model:处理方法入参 ...
- SpringMVC(十一):SpringMVC 处理输出模型数据之SessionAttributes
Spring MVC提供了以下几种途径输出模型数据:1)ModelAndView:处理方法返回值类型为ModelAndView时,方法体即可通过该对象添加模型数据:2)Map及Model:处理方法入参 ...
- SpringMVC(十):SpringMVC 处理输出模型数据之Map及Model
Spring MVC提供了以下几种途径输出模型数据: 1)ModelAndView:处理方法返回值类型为ModelAndView时,方法体即可通过该对象添加模型数据: 2)Map及Model:处理方法 ...
- SpringMVC(九):SpringMVC 处理输出模型数据之ModelAndView
Spring MVC提供了以下几种途径输出模型数据: 1)ModelAndView:处理方法返回值类型为ModelAndView时,方法体即可通过该对象添加模型数据: 2)Map及Model:处理方法 ...
随机推荐
- [LeetCode]题解(python):059-Spiral Matrix II
题目来源 https://leetcode.com/problems/spiral-matrix-ii/ Given an integer n, generate a square matrix fi ...
- django http 403 错误
在使用android的xUtils框架提交post请求到django服务器上面,出现错误,返回Forbiddeen.解决方法记录于此. 参考链接 http://blog.csdn.net/liangp ...
- zero3- JPA http://www.cnblogs.com/holbrook/archive/2012/12/30/2839842.html
1.很好的博客:http://www.cnblogs.com/holbrook/archive/2012/12/30/2839842.html 2. 最新的搬到github : http://holb ...
- linux sed命令参数及用法详解
linux sed命令参数及用法详解 http://blog.csdn.net/namecyf/article/details/7336308 1. Sed简介 sed 是一种在线编辑器,它一次处理一 ...
- PAT 解题报告 1049. Counting Ones (30)
1049. Counting Ones (30) The task is simple: given any positive integer N, you are supposed to count ...
- jquery垂直展开折叠手风琴二级菜单
摘要:jquery实现垂直展开二级菜单 最近新开发一个简单项目,用到左侧两级的菜单.找找了手头的文件,竟然没有现成的代码,算了,去网上找找整理下吧. 注:jquery-1.8.3.min.js需要下载 ...
- compilation filed Unable to write to path xxxxxx 遇到这种情况的话
如果是xib文件的话 查看target —>Build Phases —> Copy Bundle Resources里面查看路径. 可能有重复路径导致编译不通过.
- WAL
WAL record format typedef struct XLogRecord{pg_crc32 xl_crc; /* CRC for this record */XLogRe ...
- Leetcode: Palindrome Numbers
Determine whether an integer is a palindrome. Do this without extra space. 尝试用两头分别比较的方法,结果发现无法解决1000 ...
- JS练习题 显示登入者相关好友
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...