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

搜索
博主信息
博文 32
粉絲 0
評(píng)論 0
訪問量 27830
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板
08-06作業(yè):MVC操作數(shù)據(jù)庫,實(shí)現(xiàn)模型與視圖的對(duì)象依賴注入
Yx的博客
原創(chuàng)
997人瀏覽過

MVC的全名是Model View Controller,是模型(model)-視圖(view)-控制器(controller)的縮寫,是一種軟件設(shè)計(jì)典范。它是用一種業(yè)務(wù)邏輯、數(shù)據(jù)與界面顯示分離的方法來組織代碼.

使用的MVC的目的:在于將M和V的實(shí)現(xiàn)代碼分離,從而使同一個(gè)程序可以使用不同的表現(xiàn)形式。比如Windows系統(tǒng)資源管理器文件夾內(nèi)容的顯示方式,下面兩張圖中左邊為詳細(xì)信息顯示方式,右邊為中等圖標(biāo)顯示方式,文件的內(nèi)容并沒有改變,改變的是顯示的方式。不管用戶使用何種類型的顯示方式,文件的內(nèi)容并沒有改變,達(dá)到M和V分離的目的。

01.png

1.   Model代碼實(shí)例:

<?php

// 模型類: 用于數(shù)據(jù)庫操作,數(shù)據(jù)訪問

class Model
{
    protected $pdo;
    public function __construct()
    {
        $this->pdo=new \PDO('mysql:host=127.0.0.1;dbname=php','root','root');
    }

    public function getData()
    {
        $sql='select * from `stud`';
        $stmt=$this->pdo->prepare($sql);
        $stmt->execute();
        $res=$stmt->fetchAll(\PDO::FETCH_ASSOC);
        return $res;
    }
}
$obj=new Model();
$obj->getData();

運(yùn)行實(shí)例 ?

點(diǎn)擊 "運(yùn)行實(shí)例" 按鈕查看在線實(shí)例

2.   視圖類View實(shí)例:

<?php
// 視圖類: 渲染數(shù)據(jù)

class View
{
    public function fetch($data)
    {
        $table = '<table border="1" cellspacing="0" align="center" cellpadding="3" width="600" >';
        $table .= '<caption>演員信息列表</caption>';
        $table.=' <thead><tr bgcolor="#add8e6"><th>I D</th><th>姓名</th><th>年齡</th><th>性別</th><th>手機(jī)</th></tr></thead>';
        $table.= '<tbody >';

        foreach ($data as $stud){
            $table.='<tr>';
            $table.='<td>'.$stud['stud_id'].'</td>';
            $table.='<td>'.$stud['name'].'</td>';
            $table.='<td>'.$stud['age'].'</td>';
            $table.='<td>'.$stud['sex'].'</td>';
            $table.='<td>'.$stud['mobile'].'</td>';
            $table.='</tr>';
        }
        $table.='</tbody></table>';

        return $table;

    }
}

運(yùn)行實(shí)例 ?

點(diǎn)擊 "運(yùn)行實(shí)例" 按鈕查看在線實(shí)例

3.   控制器代碼實(shí)例

<?php
// 控制器2: 依賴注入, 解決了對(duì)象之間的高度耦合的問題
// 加載模型類
require 'Model.php';

// 加載視圖類
require 'View.php';

// 控制器類
class Controller
{
    // 注入點(diǎn)是一個(gè)普通方法
    public function index(Model $model,View $view)
    {
        // 1獲取數(shù)據(jù)
        $data=$model->getData();

        // 2渲染模板
        return $view->fetch($data);
    }
}

// 客戶端調(diào)用
$controller=new Controller();
$model=new Model();
$view=new View();
echo $controller->index($model,$view);

運(yùn)行實(shí)例 ?

點(diǎn)擊 "運(yùn)行實(shí)例" 按鈕查看在線實(shí)例

原來數(shù)據(jù)庫中的列表:

03.png

在控制器,前端顯示的列表:

02.png

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

老師批語:寫得可以
本博文版權(quán)歸博主所有,轉(zhuǎn)載請注明地址!如有侵權(quán)、違法,請聯(lián)系admin@php.cn舉報(bào)處理!
全部評(píng)論 文明上網(wǎng)理性發(fā)言,請遵守新聞評(píng)論服務(wù)協(xié)議
0條評(píng)論
作者最新博文
關(guān)于我們 免責(zé)申明 意見反饋 講師合作 廣告合作 最新更新
php中文網(wǎng):公益在線php培訓(xùn),幫助PHP學(xué)習(xí)者快速成長!
關(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é)