Blogger Information
Blog 49
fans 0
comment 1
visits 46696
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
简易的mvc框架---2018年05月10日
失去过去的博客
Original
1084 people have browsed it

1.效果预览QQ截图20180510124932.jpg

2.目录结构

QQ截图20180510125910.jpg

3.入口文件(调用控制器) index.php

<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2018/5/10 0010
 * Time: 10:19
 */
namespace index;
require 'controller/Controller.php';
use mvc\controller\Controller;
        $index = new Controller();
        echo $index->index();

运行实例 »

点击 "运行实例" 按钮查看在线实例

4.控制器 (实现控制:调用模型层和视图层)controller.php

<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2018/5/10 0010
 * Time: 10:18
 */

namespace mvc\controller;
use mvc\model\Model;
use mvc\view\View;

class Controller
{
    public function  index()
    {
        //加载文件
        require './model/Model.php';
        //创建对象
        $model = new Model('root','root','xc');
        //执行查询
        $model->select('blast_members',10);
        // 获取数据
        $result = $model->result;
        //加载文件
        require './view/View.php';
        //创建对象
        $view = new View($result);
        //获取数据
        $data = $view->getData()  ;
            //渲染到视图层
        $view->display($data);

    }

}

运行实例 »

点击 "运行实例" 按钮查看在线实例

5.模型层 (数据输出) Model.php

<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2018/5/10 0010
 * Time: 10:19
 */
namespace mvc\model;
class Model
{
   public $result = [];
   public $pdo = null;
   public function __construct($user,$pass,$dbname)
   {
       try{
           $this->pdo = new \PDO("mysql:host=127.0.0.1;dbname={$dbname}",$user,$pass);
       }catch (\PDOException $e){
           return 'ERROR'.$e->getMessage();
       }
   }

   //创建查询方法
    public  function select($table,$num)
    {
        //创建sql语句
        $sql = "SELECT uid,username,nickname,regTime,score,coin FROM {$table} LIMIT 10;";
        //创建预处理对象

        $stmt =  $this->pdo->prepare($sql);
        //执行预处理
        $stmt->bindValue(':num',$num,\PDO::PARAM_INT);
        $stmt->execute();
        //获取结果集

        $this->result = $stmt->fetchAll(\PDO::FETCH_ASSOC);

    }
}
//$demo = new Model('root','root','xc');
//$demo->select(blast_members,10);
//print_r($demo->result);

运行实例 »

点击 "运行实例" 按钮查看在线实例

5.视图层(渲染) view.php

<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2018/5/10 0010
 * Time: 10:16
 */
namespace mvc\view;
class View
{
    public $data = [];
    //构造方法用于接收并初始化数据
    public function __construct($data)
    {
        $this->data = $data;
    }
    //外部获取数据提供接口
    public function getData()
    {
        return $this->data;
    }
    //渲染方法
    public function display($data)
    {
        $table = "
        <!doctype html>
<html lang=\"en\">
<head>
    <meta charset=\"UTF-8\">
    <meta name=\"viewport\"
          content=\"width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0\">
          
    <meta http-equiv=\"X-UA-Compatible\" content=\"ie=edge\">
    	<script src=\"http://libs.baidu.com/jquery/2.0.0/jquery.min.js\"></script>
    	<script src=\"../../../js/bootstrap.js\" type=\"text/javascript\" charset=\"utf-8\"></script>
    	<link rel=\"stylesheet\" type=\"text/css\" href=\"../../../css/bootstrap.css\"/>
    <title>mvc设计模式</title>
    <style type=\"text/css\">
    	table{margin: 30px auto;}
    	caption{
    		font-size:2em ;font-weight: bold;text-align: center;
    	}
    </style>
</head>
<body>
<div class=\"container\">
	<div class=\"row\">
		<div class=\"col-md-12\">
			<div class=\"col-md-offset-0\">
				<table class=\"table table-hover\">
					<caption>用户信息表</caption>
					<tr class=\"info\">
						<th>用户ID</th>
						<th>用户名称</th>
						<th>用户昵称</th>
						<th>注册时间</th>
						<th>用户积分</th>
						<th>账户余额</th>
						
					</tr>
        
        
        
        ";

        //循环输出数据
        foreach ($data as $row){
            $table .='<tr>';
            $table .='<td>'.$row['uid'].'</td>';
            $table .='<td>'.$row['username'].'</td>';
            $table .='<td>'.$row['nickname'].'</td>';
            $table .='<td>'.date('Y-m-d H:i:s',$row['regTime']).'</td>';
            $table .='<td>'.$row['score'].'</td>';
            $table .='<td>'.$row['coin'].'</td>';
            $table .='</tr>';
        }

        $table .='</table></div></div></div></div></body></html>';
      echo $table ;

    }
}

运行实例 »

点击 "运行实例" 按钮查看在线实例



Correction status:Uncorrected

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post