ThinkPHP之视图模版的使用
Posted 被罚站的树
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ThinkPHP之视图模版的使用相关的知识,希望对你有一定的参考价值。
用户发起一个请求后,服务器应该返回一个页面,而页面是由我们的视图层来控制的。
一、修改控制器
<?php namespace Home\\Controller; use Think\\Controller; class IndexController extends Controller { public function index(){ ........... } public function sayHello(){ $this->display(); } }
我们在sayHello()中调用了display方法,而该方法会去View层中找相应的视图模版,并将视图模版放回给用户。查找的顺序如下:
- 进入View下查找Index控制器目录
- 进入Index目录查找sayHello.html
- 找到文件并返回给用户
二、视图操作
- 给视图模版传参
<?php namespace Home\\Controller; use Think\\Controller; class IndexController extends Controller { public function index(){ echo \'.....\'; } public function sayHello(){ $username = \'冬雨\';
$this->assign(\'username\', $username); //设置视图中的变量 $this->display(); //调用相应的视图 } }
- 编写视图页面
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<p> 你好!{$username}</p>
</body>
</html>
- 请求sayHello方法
三、model操作
在编写model层时需要先连接数据库,这里需要修改我们模块的配置文件./CloudCrypt/Home/Conf/config.php
<?php return array( //\'配置项\'=>\'配置值\' \'DB_TYPE\' => \'mysql\', // 数据库类型 \'DB_HOST\' => \'127.0.0.1\', // 服务器地址 \'DB_NAME\' => \'weibo\', // 数据库名 \'DB_USER\' => \'root\', // 用户名 \'DB_PWD\' => \'admin\', // 密码 \'DB_PORT\' => 3306, // 端口 // \'DB_PARAMS\' => array(), // 数据库连接参数 // \'DB_PREFIX\' => \'think_\', // 数据库表前缀 \'DB_CHARSET\'=> \'utf8\', // 字符集 // \'DB_DEBUG\' => TRUE, // 数据库调试模式 开启后可以记录SQL日志 );
- 编写控制器1
<?php namespace Home\\Controller; use Think\\Controller; class IndexController extends Controller { public function index(){ echo \'.....\'; } public function sayHello(){ $user = M(\'User\'); //user是数据库中的user表 $arr = $user->select(); //查询user表中的所有数据,结果集以数组的方式返回 $this->assign(\'data\', $arr[0][\'username\']); //结果集中第0行中的username字段值 $this->display(); //给用户返回视图 } }
- 编写视图层1 视图层仍旧使用上面的那个视图,只不过把username换成了data而已
- 编写控制器2
<?php namespace Home\\Controller; use Think\\Controller; class IndexController extends Controller { public function index(){ echo \'.....\'; } public function sayHello(){ $user = M(\'User\'); $arr = $user->select(); $this->assign(\'data\', $arr); //传给视图层的是一个数组 $this->display(); } }
- 编写视图层2 (读取数组操作)
<!DOCTYPE html> <html> <head> <title></title> </head> <body> <!--每次从data中取一行赋值给row><--> <volist name="data" id="row"> {$row.id}------{$row.username}----{$row.userpw}<br/> </volist> </body> </html>
- 执行结果
三、小技巧
为了方便我们开发中的调试,我们可以在入口文件中开启DEBUG模式。ThinkPHP同时提供PAGE_TRACE功能,能查看文件之间的文件之间的调用,SQL语句的查看等功能。
开启PAGE_TRACE:在我们的模块配置文件中添加:‘SHOW_PAGE_TRACE\'=>true
然后在页面的右下角有个小图标,点击就可以查看相关信息了。
关于model层的操作请详见
以上是关于ThinkPHP之视图模版的使用的主要内容,如果未能解决你的问题,请参考以下文章