#
# 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