博客列表 >TP5视图操作

TP5视图操作

可乐随笔
可乐随笔原创
2024年01月20日 14:29:581280浏览

视图定义:

注:用户访问URL对应的是一个控制器,控制器与模型(数据库)交互,然后把处理完的数据前给视图,视图负责展现数据。

1.视图文件必须保存在模块下view目录下->和控制器名称一致的目录下面,HTML文件必须和控制器中的方法完全一致。
2.视图功能由\think\View类配合视图驱动(也即模板引擎驱动)类一起完成,目前的内置模板引擎包含PHP原生模板和Think模板引擎。
3.内容输出有三种方法,推荐:控制器的
view实例的display方法,输出内容::推荐方法,可读性强。

  1. <?php
  2. namespace app\index\controller;
  3. use think\Controller;
  4. use think\facade\View;
  5. class Demo7 extends Controller
  6. {
  7. //直接将内容输出到页面,不通过模板:3种方法
  8. public function test1()
  9. {
  10. $content = '<h3 style="color: blue">PHP中文网欢迎你</h3>';
  11. //1.控制器的display方法,输出内容
  12. // return $this->display($content);
  13. //2.控制器的view实例的display方法,输出内容::推荐方法,可读性强
  14. return $this->view->display($content);
  15. //3.静态代理类view方式,输出内容
  16. // return View::display($content);
  17. }
  18. //使用视图将数据进行输出:fatch()
  19. public function test2()
  20. {
  21. //模板变量赋值:assign()
  22. //1.普通变量
  23. $this->view->assign('name','mhr');
  24. $this->view->assign('age','99');
  25. //2.批量赋值
  26. $this->view->assign([
  27. 'sex'=>'男',
  28. 'salary'=>666
  29. ]);
  30. //2.数组输出
  31. $this->view->assign('goods',[
  32. 'id'=>1,
  33. 'name'=>'手机',
  34. 'model'=>'mate10',
  35. 'price'=>6500,
  36. ]);
  37. //3.输出对象
  38. $obj = new \stdClass();
  39. $obj->course = 'php';
  40. $obj->lecture = 'zhangsan';
  41. $this->view->assign('info',$obj);
  42. //4.常量输出
  43. define('SITE_NAME','PHP中文网');
  44. //在模板中输出数据
  45. //模板默认的目录位于当前模块的View目录,模板文件默认位于当前控制器命名的目录中,即模块/view下面
  46. return $this->view->fetch();
  47. }
  48. }

模板文件示例:

  1. {$name}<br>
  2. {$age}<br>
  3. {$sex}<br>
  4. {$salary}<br>
  5. <hr>
  6. {//输出数组}<br>
  7. {$goods.id}<br>
  8. {$goods.name}<br>
  9. {$goods.model}<br>
  10. {$goods.price}<br>
  11. <hr>
  12. {//输出对象}<br>
  13. {$info->course}<br>
  14. {$info->lecture}<br>
  15. <hr>
  16. {//输出常量}<br>
  17. {$Think.const.SITE_NAME}
  18. <hr>
  19. {//输出PHP系统常量}<br>
  20. {$Think.const.PHP_VERSION}<br>
  21. {$Think.const.PHP_OS}<br>
  22. <hr>
  23. {//输出系统变量}<br>
  24. {$Think.server.php_self}<br>
  25. {$Think.server.session}<br>
  26. {$Think.server.get.name}<br>
  27. {$Think.server.post.name}<br>
  28. <hr>
  29. {//输出TP配置}<br>
  30. {$Think.config.database.hostname}<br>
  31. <hr>
  32. {//输出请求变量}<br>
  33. {$Request.get.name}<br>
  34. {$Request.post.name}<br>
  35. {$Request.param.name}<br>
  36. {$Request.path}<br>
  37. {$Request.root}<br>
  38. {$Request.root.true}<br>
  39. {$Request.controller}<br>
  40. {$Request.action}<br>
  41. {$Request.host}<br>
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议