批改狀態(tài):合格
老師批語:
<?php /**home\index.php * Created by PhpStorm. * User: 1A7489 * Date: 2018/5/14 * Time: 14:16 */ require 'controller/Controller.php';//導(dǎo)入控制器 use Home\controller\Controller;//導(dǎo)入類 $controller = new Controller;//實例化對類 $controller->index();//運行導(dǎo)入的Controller類中的index方法 ?>
<?php /**home\Controller \Controller .php * Created by PhpStorm. * User: 1A7489 * Date: 2018/5/14 * Time: 14:08 */ namespace Home\controller; class Controller { public function index() { require './model/Model.php';//導(dǎo)入模型 $model = new \Home\model\Model('php','root','root');//實例化對類 $model -> select('staff',10);//設(shè)置sql屬性,傳入?yún)?shù),執(zhí)行select函數(shù) $result = $model -> result;//保存select函數(shù)的結(jié)果集到$result echo print_r($result).'<br>我是$result'; echo '<hr>'; require './view/View.php';//導(dǎo)入視圖 $view = new \Home\view\View($result); //實例化對類,并將自動調(diào)用 __construct() ,將拿到的結(jié)果集傳給視圖中$data $data = $view->getData(); //執(zhí)行g(shù)etData函數(shù),將返回$data中HTML代碼(結(jié)果集)保存到變量$data echo print_r($data).'<br>我是$data'; $view->display($data); //執(zhí)行函數(shù)dispaly,傳入結(jié)果集,輸出完整html代碼 require './view/View1.php';//導(dǎo)入視圖 $view = new \Home\view\View1(); //實例化對類,并將自動調(diào)用 __construct() ,將拿到的結(jié)果集傳給視圖中$data //$data = $view->getData(); //執(zhí)行g(shù)etData函數(shù),將返回$data中HTML代碼(結(jié)果集)保存到變量$data $view->display($result); //執(zhí)行函數(shù)dispaly,傳入結(jié)果集,輸出完整html代碼 } } ?>
<?php /**home\Model\Model.php * Created by PhpStorm. * User: 1A7489 * Date: 2018/5/14 * Time: 14:08 */ namespace Home\Model; class Model { public $pdo = null; public $result = []; //構(gòu)造方法 public function __construct($dbname, $user, $pass) { //連接數(shù)據(jù)庫 $this->pdo = new \PDO('mysql:host=localhost;dbname='.$dbname,$user,$pass); } //執(zhí)行查詢并獲取結(jié)果集 public function select($table, $num) { //創(chuàng)建預(yù)處理語句:將復(fù)制過來的 $pdo 替換成 $this->pdo $stmt = $this->pdo->prepare("SELECT staff_id,name,age,salary FROM {$table} LIMIT :num;"); //執(zhí)行查詢 $stmt -> bindValue(':num',$num,\PDO::PARAM_INT); $stmt -> execute(); //解析結(jié)果集:將復(fù)制過來的 $result 替換成成 $this->result $this->result = $stmt -> fetchAll(\PDO::FETCH_ASSOC); } }
<?php //home\View\View.php namespace Home\view; class View { public $data = []; public function __construct($data) { $this->data = $data;//將結(jié)果集保存到類中的$data } public function getData() { return $this->data;//返回html代碼 } public function display($data) { $table = ' <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>MVC模式簡介</title> <style type="text/css"> table,th,td { border:1px solid black; } table { border-collapse: collapse; width: 60%; margin: 30px auto; text-align: center; } table tr:first-child { background-color: lightgreen; } table caption { font-size:1.5em; margin-bottom: 15px; } </style> </head> <body> <table> <caption>員工信息表</caption> <tr> <th>ID</th> <th>姓名</th> <th>年齡</th> <th>工資</th> </tr>'; foreach ($data as $key) {//輸出結(jié)果集中的數(shù)據(jù)(數(shù)組)到變量$key進(jìn)行遍歷,foreach 僅能夠應(yīng)用于數(shù)組和對象 $table .= '<tr>'; $table .= '<td>'.$key['staff_id'].'</td>'; $table .= '<td>'.$key['name'].'</td>'; $table .= '<td>'.$key['age'].'</td>'; $table .= '<td>'.$key['salary'].'</td>'; } $table .= '</table> </body> </html>'; echo $table;//輸出html代碼 } }
<?php //home\View1\View1.php namespace Home\view1; class View1 { public $data = []; public function display($data) { $table = ' <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>MVC模式簡介</title> <style type="text/css"> table,th,td { border:1px solid black; } table { border-collapse: collapse; width: 60%; margin: 30px auto; text-align: center; } table tr:first-child { background-color: lightgreen; } table caption { font-size:1.5em; margin-bottom: 15px; } </style> </head> <body> <table> <caption>員工信息表</caption> <tr> <th>ID</th> <th>姓名</th> <th>年齡</th> <th>工資</th> </tr>'; foreach ($data as $key) {//輸出結(jié)果集中的數(shù)據(jù)(數(shù)組)到變量$key進(jìn)行遍歷,foreach 僅能夠應(yīng)用于數(shù)組和對象 $table .= '<tr>'; $table .= '<td>'.$key['staff_id'].'</td>'; $table .= '<td>'.$key['name'].'</td>'; $table .= '<td>'.$key['age'].'</td>'; $table .= '<td>'.$key['salary'].'</td>'; } $table .= '</table> </body> </html>'; echo $table;//輸出html代碼 } }
學(xué)習(xí)mvc發(fā)現(xiàn)view代碼中的結(jié)果集轉(zhuǎn)了一圈又回來了,于是動手簡化,發(fā)現(xiàn)輸出的結(jié)果是一樣的,不知道有沒有錯誤或是其他的影響
微信掃碼
關(guān)注PHP中文網(wǎng)服務(wù)號
QQ掃碼
加入技術(shù)交流群
Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號