Blogger Information
Blog 34
fans 0
comment 0
visits 18328
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
0525实战作业
千山暮雪
Original
564 people have browsed it

1、练习视图的XML 标签

  • 运算与函数
方法 描述
date 日期格式化(支持各种时间类型)
format 字符串格式化
upper 转换为大写
lower 转换为小写
first 输出数组的第一个元素
last 输出数组的最后一个元素
default 默认值
raw 不使用(默认)转义
md5 md5 加密
substr 截取字符串
  1. public function test5()
  2. {
  3. View::assign('a',3);
  4. View::assign('b',4);
  5. View::assign('c','ABCefg');
  6. return View::fetch();
  7. }
  1. {$a+$b}
  2. <Hr>
  3. {$a-$b}
  4. <Hr>
  5. {$c|upper}
  6. <Hr>
  7. {$c|lower}
  8. <Hr>
  9. {:time()}
  10. <Hr>
  11. {:date('Y-m-d H:i:s')}
  • 判断标签

    • if
      if 标签的用法和 PHP 语法非常接近,用于条件判断
      语法:{if} {elseif}…{else} {/if}
    • switch
      switch 标签的用法和 PHP 语法非常接近,用于条件判断
      语法:{switch} {case} {/case}… {/switch}
      1. View::assign('status',0);
      2. View::assign('order_status',4);
      3. return View::fetch();
      1. {if $status === 1}
      2. <div>开启</div>
      3. {else}
      4. <div>关闭</div>
      5. {/if}
      6. <hr>
      7. {if $order_status == 0}
      8. <div>未支付</div>
      9. {elseif $order_status == 1/}
      10. <div>已支付 待发货</div>
      11. {elseif $order_status == 2/}
      12. <div>已发货 待收货</div>
      13. {elseif $order_status == 3/}
      14. <div>已收货 待评论</div>
      15. {elseif $order_status == 4/}
      16. <div>已完成</div>
      17. {else/}
      18. <div>已关闭</div>
      19. {/if}
      20. <hr>
      21. {switch $order_status}
      22. {case 0 }
      23. <div>未支付</div>
      24. {/case}
      25. {case 1 }
      26. <div>已支付 待发货</div>
      27. {/case}
      28. {case 2 }
      29. <div>已发货 待收货</div>
      30. {/case}
      31. {case 3 }
      32. <div>已收货 待评论</div>
      33. {/case}
      34. {case 4 }
      35. <div>已完成</div>
      36. {/case}
      37. {/switch}
  • 循环标签

    • foreach 标签的用法和 PHP 语法非常接近,用于循环输出数组或者对象的属性
    • volist 循环标签
      id 当前的循环变量,可以随意起名
      key 下标,从 1 开始,默认变量 i
      offset 开始行数
      length 获取行数
      empty 如果数据为空,显示此文字
      1. public function test3()
      2. {
      3. $arr = [
      4. [
      5. 'id' => 1,
      6. 'name' => '欧阳克'
      7. ],
      8. [
      9. 'id' => 2,
      10. 'name' => '灭绝师太'
      11. ],
      12. [
      13. 'id' => 3,
      14. 'name' => '天蓬'
      15. ]
      16. ];
      17. View::assign('arr',$arr);
      18. return View::fetch('test3');
      19. }
      1. {foreach $arr as $v}
      2. <div>
      3. <span>ID:{$v['id']}</span>
      4. <span>姓名:{$v['name']}</span>
      5. </div>
      6. {/foreach}
      7. <hr>
      8. {volist name="arr" id="v"}
      9. <div>
      10. <span>ID:{$v['id']}</span>
      11. <span>姓名:{$v['name']}</span>
      12. </div>
      13. {/volist}

2、练习请求Request类

  • 使用门面类
    1. use think\facade\Request;
    2. print_r(Request::get('t'));
    3. print_r(Request::post('t'));
    4. print_r(Request::param('t'));
  • 助手函数
    request() 在任何需要的时候直接调用当前请求对象
    1. print_r(request()->get('user'));
    2. print_r(request()->post('user'));
    3. print_r(request()->param());
    input获取输入数据 支持默认值和过滤
    1. print_r(input('get.'));
    2. print_r(input('post.'));
    3. // 第二个参数为默认值
    4. print_r(input('get.t', ''));
    5. // 变量修饰符s:字符串,d:整数,b:布尔,a:数组,f:浮点
    6. print_r(input('get.t/s'));

    3、练习数据库链式操作

    带 * 标识的表示支持多次调用

连贯操作 作用 支持的参数类型
where* 用于 AND 查询 字符串、数组和对象
table 用于定义要操作的数据表名称 字符串和数组
name 用于定义要操作的数据表名称 字符串
field* 用于定义要查询的字段(支持字段排除) 字符串和数组
order* 用于对结果排序 字符串和数组
limit 用于限制查询结果数量 字符串和数字
page 用于查询分页(内部会转换成 limit) 字符串和数字
  1. $res =Db::name('boke')->where('id','>',1)->field('id,title')->order('id desc')->limit(5)->select();

4、博客实战,分类和搜索功能完成

index.php

  1. public function index()
  2. {
  3. $t = Request::get('t');
  4. $cate = Request::get('cate');
  5. $where = [];
  6. // 搜索条件
  7. if (!empty($t)) {
  8. $where[] = array('title','like',"%{$t}%");
  9. }
  10. // 分类条件
  11. if (!empty($cate)) {
  12. $where[] = array('cat','=',$cate);
  13. }
  14. // 查询数据 无where查询所有
  15. $data = Db::name('boke')->where($where)->select();
  16. view::assign('data',$data);
  17. return view::fetch();
  18. }

index.html

  1. <div id="content" role="main">
  2. {foreach $data as $v}
  3. <article>
  4. <header class="entry-header">
  5. <h1 class="entry-title"><a href="/details.html" title="{$v.title}" rel="bookmark">{$v.title}</a></h1>
  6. </header>
  7. <div class="entry-content">{$v.content}</div>
  8. <footer class="entry-meta">
  9. 发布于
  10. <a href="/index.html?time=2020-10-02" title="2020-10-02" rel="bookmark">
  11. <time class="entry-date" datetime="2020-10-02">{$v.date}</time>
  12. </a>。 属于
  13. <a href="/index.html?cate=4" title="查看 Linux中的全部文章" rel="category">{$v.cat}</a> 分类
  14. </footer>
  15. </article>
  16. {/foreach}
  17. </div>
Correcting teacher:欧阳克欧阳克

Correction status:qualified

Teacher's comments:非常不错,多练习对学习有帮助。
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post