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

搜索
博主信息
博文 32
粉絲 1
評(píng)論 0
訪問量 36386
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板
1206作業(yè)迷你MVC框架-PHP培訓(xùn)第九期線上班
淡月
原創(chuàng)
1262人瀏覽過

1model

  1. <?php
  2. namespace __1206;
  3. // 模型類:用于數(shù)據(jù)表的操作
  4. class Model{
  5. public function getData()
  6. {
  7. // 用二維數(shù)組來模擬從表中獲取到的客戶數(shù)據(jù)
  8. return [
  9. ['id'=>1,'name'=>'不甜的淡月','sex'=>'女','mobile'=>'452557923','email'=>'452557923@qq.com','vip'=>'璀璨鉆石'],
  10. ['id'=>2,'name'=>'溪上花間','sex'=>'女','mobile'=>'437366515','email'=>'437366515@qq.com','vip'=>'華貴鉑金'],
  11. ['id'=>3,'name'=>'小小挽歌','sex'=>'男','mobile'=>'1047826346','email'=>'104782346@qq.com','vip'=>'榮耀黃金'],
  12. ['id'=>4,'name'=>'櫻桃小丸子','sex'=>'男','mobile'=>'2244423838','email'=>'2244423838@qq.com','vip'=>'不屈白銀'],
  13. ['id'=>5,'name'=>'夢(mèng)幻泡沫','sex'=>'男','mobile'=>'2502704500','email'=>'2502704500@qq.com','vip'=>'英勇黃銅'],
  14. ];
  15. }
  16. }

2view

  1. <?php
  2. namespace __1206;
  3. // 視圖類:渲染數(shù)據(jù)
  4. class View{
  5. public function fetch($data){
  6. $table = '<table>';
  7. $table .= '<caption>公交車群內(nèi)成員信息</caption>';
  8. $table .= '<tr><th>ID</th><th>昵稱</th><th>性別</th><th>聯(lián)系方式</th><th>郵箱</th><th>段位等級(jí)</th></tr>';
  9. foreach ($data as $news) {
  10. $table .= '<tr>';
  11. $table .= '<td>' . $news['id'] . '</td>';
  12. $table .= '<td>' . $news['name'] . '</td>';
  13. $table .= '<td>' . $news['sex'] . '</td>';
  14. $table .= '<td>' . $news['mobile'] . '</td>';
  15. $table .= '<td>' . $news['email'] . '</td>';
  16. $table .= '<td>' . $news['vip'] . '</td>';
  17. $table .= '</tr>';
  18. }
  19. $table .= '</table>';
  20. return $table;
  21. }
  22. }
  23. echo '<style>
  24. table {border-collapse: collapse; border: 1px solid; width: 600px;height: 200px}
  25. caption {font-size: 1.2rem; margin-bottom: 10px;}
  26. tr:first-of-type { background-color:pink;}
  27. td,th {border: 1px solid}
  28. td:first-of-type {text-align: center;}
  29. </style>';

3controller

  1. <?php
  2. // 控制器: 將客戶信息表展示出來
  3. namespace __1206;
  4. // 1. 加載模型
  5. require 'Model.php';
  6. // 2. 加載視圖
  7. require 'View.php';
  8. //添加服務(wù)容器層
  9. class Container{
  10. // 容器屬性, 就是一個(gè)數(shù)組,里面全是創(chuàng)建對(duì)象的方法
  11. protected $instance = [];
  12. // 1. 放進(jìn)去: 將類的實(shí)例化過程綁定到容器中 $alias: 類實(shí)例的別名,
  13. public function bind($alias, \Closure $process){
  14. // 將類實(shí)例化的方法綁定/ 存儲(chǔ)到服務(wù)容器中
  15. $this->instance[$alias] = $process;
  16. }
  17. // 2. 取出來: 執(zhí)行容器中的實(shí)例方法
  18. public function make($alias, $params=[]){
  19. return call_user_func_array($this->instance[$alias], []);
  20. }
  21. }
  22. // 實(shí)例化容器
  23. $container = new Container();
  24. // 用到模型對(duì)象, 視圖對(duì)象,將它們綁定到容器中
  25. $container->bind('model', function () {return new Model();});
  26. $container->bind('view', function () {return new View();});
  27. // Facade技術(shù): 規(guī)范/統(tǒng)一了對(duì)外部對(duì)象的調(diào)用方式, 全部改為了靜態(tài)調(diào)用, 不管之前的方法是什么類型
  28. // 添加Facade門面類
  29. class Facade{
  30. protected static $container = null;
  31. protected static $data = [];
  32. // 用服務(wù)容器給它初始化
  33. public static function initialize(Container $container){
  34. static::$container = $container;
  35. }
  36. // 用靜態(tài)代理方式將模型中的getData()靜態(tài)化
  37. public static function getData(){
  38. static::$data = static::$container->make('model')->getData();
  39. }
  40. // 用靜態(tài)代理方式將視圖中的fetch()靜態(tài)化
  41. public static function fetch(){
  42. return static::$container->make('view')->fetch(static::$data);
  43. }
  44. }
  45. class Student extends Facade{
  46. //...
  47. }
  48. // 3. 創(chuàng)建控制器
  49. class Controller{
  50. public function __construct(Container $container){
  51. // 調(diào)用Facade里面的初始化方法
  52. Student::initialize($container);
  53. }
  54. public function index(){
  55. // 3.1 獲取數(shù)據(jù)
  56. Student::getData();
  57. // 3.2 渲染模板
  58. return Student::fetch();
  59. }
  60. }
  61. // 4. 客戶端調(diào)用/訪問類成員 將模型對(duì)象與視圖對(duì)象,以參數(shù)的方式再次注入到控制器的方法
  62. $controller = new Controller($container);
  63. echo $controller->index();

總結(jié)

感覺mvc模式挺簡(jiǎn)單的,或許是我了解的還不夠深入吧??磥磉€是需要更進(jìn)一步的加強(qiáng)學(xué)習(xí)。

批改老師:天蓬老師天蓬老師

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

老師批語:你這不能算實(shí)現(xiàn), 應(yīng)該寫一個(gè)真實(shí), 且相對(duì)完整的, 將學(xué)過的知識(shí), 盡可能的用上
本博文版權(quán)歸博主所有,轉(zhuǎn)載請(qǐng)注明地址!如有侵權(quán)、違法,請(qǐng)聯(lián)系admin@php.cn舉報(bào)處理!
全部評(píng)論 文明上網(wǎng)理性發(fā)言,請(qǐng)遵守新聞評(píng)論服務(wù)協(xié)議
0條評(píng)論
關(guān)于我們 免責(zé)申明 意見反饋 講師合作 廣告合作 最新更新
php中文網(wǎng):公益在線php培訓(xùn),幫助PHP學(xué)習(xí)者快速成長(zhǎng)!
關(guān)注服務(wù)號(hào) 技術(shù)交流群
PHP中文網(wǎng)訂閱號(hào)
每天精選資源文章推送
PHP中文網(wǎng)APP
隨時(shí)隨地碎片化學(xué)習(xí)
PHP中文網(wǎng)抖音號(hào)
發(fā)現(xiàn)有趣的

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

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