亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

搜索
博主信息
博文 46
粉絲 0
評論 0
訪問量 46488
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板
PHP中的視圖基類的實例演示
上草一方
原創(chuàng)
635人瀏覽過

視圖類代碼如下:

  1. <?php
  2. // 視圖類
  3. namespace phpcn;
  4. class view
  5. {
  6. //約定:控制器方法的模板,就是以控制器為目錄名,以方法為文件名
  7. protected $controller;
  8. protected $action;
  9. protected $path;
  10. // 模板變量容器
  11. protected $data = [];
  12. // 初始化時創(chuàng)建模板的路徑
  13. public function __construct($controller,$action,$path = '/view/')
  14. {
  15. $this->controller = $controller;
  16. $this->action = $action;
  17. $this->path = $path;
  18. }
  19. // 模板賦值:用assign()方法
  20. // assign()方法:在thinkphp中,assign()方法用于打印數(shù)組,該方法的第一個參數(shù)是在模板取值時所使用
  21. // 的變量名,第二個參數(shù)是要傳遞的值,語法為“$this->assign('name',$value);”。
  22. public function assign($name,$value)
  23. {
  24. // $name 是外部變量在模板文件中的變量
  25. // $value 是模板變量的值
  26. $this->data[$name] = $value;
  27. }
  28. // 模板渲染:一般用render()方法
  29. // 將模板賦值與模板渲染二合一
  30. public function render($path = '' ,$name = null, $value = null)
  31. {
  32. if ($name && $value) $this->assign($name,$value);
  33. // 展開模板變量數(shù)組
  34. extract($this->data);
  35. if (empty($path)) {
  36. // 按約定規(guī)則來生成模板文件的路徑并加載它
  37. $file = __DIR__ .$this->path . $this->controller . '/' .$this->action . '.php';
  38. } else {
  39. $file = $path;
  40. }
  41. // include $file or die('視圖不存在);
  42. file_exists($file) ? include $file : die('視圖不存在');
  43. }
  44. }
  45. // 測試
  46. $controller = 'User';
  47. $action = 'hello';
  48. $view = new View($controller,$action);
  49. // 模板賦值:變量
  50. $view->assign('username','朱老師');
  51. $items = [
  52. ['name' =>'手機','price' => 2000],
  53. ['name' =>'電腦','price' => 3800],
  54. ['name' =>'相機','price' => 1800],
  55. ];
  56. $view->assign('items',$items);
  57. // 渲染模板
  58. // $view->render();
  59. // 渲染,賦值二合一
  60. $view->render($path = '','lang',['php','java','python']);

調(diào)用的視圖控制器和方法代碼如下:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>Document</title>
  8. </head>
  9. <body>
  10. <h3>User控制器的hello()方法</h3>
  11. <h3>Hello,<?= $username ?></h3>
  12. <ul>
  13. <?php foreach ($items as ['name'=>$name,'price'=>$price]): ?>
  14. <li><?= $name ?> :<?= $price ?></li>
  15. <?php endforeach ?>
  16. </ul>
  17. <ul>
  18. <?php foreach ($lang as $value): ?>
  19. <li><?= $value ?></li>
  20. <?php endforeach ?>
  21. </ul>
  22. </body>
  23. </html>

運行效果:

批改老師:PHPzPHPz

批改狀態(tài):合格

老師批語:
本博文版權(quán)歸博主所有,轉(zhuǎn)載請注明地址!如有侵權(quán)、違法,請聯(lián)系admin@php.cn舉報處理!
全部評論 文明上網(wǎng)理性發(fā)言,請遵守新聞評論服務(wù)協(xié)議
0條評論
作者最新博文
關(guān)于我們 免責(zé)申明 意見反饋 講師合作 廣告合作 最新更新
php中文網(wǎng):公益在線php培訓(xùn),幫助PHP學(xué)習(xí)者快速成長!
關(guān)注服務(wù)號 技術(shù)交流群
PHP中文網(wǎng)訂閱號
每天精選資源文章推送
PHP中文網(wǎng)APP
隨時隨地碎片化學(xué)習(xí)
PHP中文網(wǎng)抖音號
發(fā)現(xiàn)有趣的

Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號

  • 登錄PHP中文網(wǎng),和優(yōu)秀的人一起學(xué)習(xí)!
    全站2000+教程免費學(xué)