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

搜索
博主信息
博文 29
粉絲 0
評(píng)論 0
訪問(wèn)量 35543
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板
PHP基礎(chǔ):mvc中的控制器對(duì)外部對(duì)象的二種依賴注入方式
暴宇
原創(chuàng)
1086人瀏覽過(guò)

PHP基礎(chǔ):mvc中的控制器對(duì)外部對(duì)象的二種依賴注入方式

1.二種依賴注入方式

-注入到普通方法

先將類實(shí)例化,再將外部對(duì)象作為參數(shù)傳入類方法中

-注入到構(gòu)造方法

在類實(shí)例化時(shí)將外部對(duì)象傳入類中,用構(gòu)造方法將外部對(duì)象在類中共享

2.代碼示例

2.1注入到普通方法

  1. <?php
  2. namespace mvc_demo;
  3. // 控制器1
  4. // 1. 加載模型類
  5. require 'Model.php';
  6. // 2. 加載視圖
  7. require 'View.php';
  8. // 3. 創(chuàng)建控制
  9. class Controller2
  10. {
  11. public function index(Model $model, View $view)
  12. {
  13. // 1. 獲取數(shù)據(jù)
  14. $data = $model->getData();
  15. // 2. 渲染模板/視圖
  16. return $view->fetch($data);
  17. }
  18. }
  19. // 客戶端
  20. $model = new Model;
  21. $view = new View;
  22. // 實(shí)例化控制器類
  23. $controller = new Controller2;
  24. echo $controller->index($model, $view);

2.2注入到構(gòu)造方法

  1. <?php
  2. <?php
  3. namespace mvc_demo;
  4. // 控制器依賴注入點(diǎn)改到構(gòu)造方法, 實(shí)現(xiàn)對(duì)外部依賴對(duì)象的共享
  5. // 1. 加載模型類
  6. require 'Model.php';
  7. // 2. 加載視圖
  8. require 'View.php';
  9. // 3. 創(chuàng)建控制
  10. class Controller3
  11. {
  12. // 依賴對(duì)象屬性
  13. private $model;
  14. private $view;
  15. // 構(gòu)造方法
  16. public function __construct(Model $model, View $view)
  17. {
  18. $this->model = $model;
  19. $this->view = $view;
  20. }
  21. public function index()
  22. {
  23. // 1. 獲取數(shù)據(jù)
  24. $data = $this->model->getData();
  25. // 2. 渲染模板/視圖
  26. return $this->view->fetch($data);
  27. }
  28. public function index2()
  29. {
  30. // 1. 獲取數(shù)據(jù)
  31. $data = $this->model->getData();
  32. // 2. 渲染模板/視圖
  33. return $this->view->fetch($data);
  34. }
  35. }
  36. // 客戶端
  37. $model = new Model;
  38. $view = new View;
  39. // 實(shí)例化控制器類
  40. $controller = new Controller3($model, $view);
  41. echo $controller->index();

3.運(yùn)行效果一樣

4.總結(jié)

MVC控制器對(duì)外部對(duì)象的依賴注入,就是將外部對(duì)象引入到當(dāng)前控制器,讓控制器可以對(duì)外部對(duì)象進(jìn)行操作,依賴注入也可以理解為對(duì)外部對(duì)象的引用

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

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

老師批語(yǔ):簡(jiǎn)單的設(shè)計(jì) 模式還是要知道一些的
本博文版權(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é)申明 意見(jiàn)反饋 講師合作 廣告合作 最新更新
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é)