博主信息
博文 49
粉丝 0
评论 1
访问量 55938
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
简易的mvc框架---2018年05月10日
失去过去的博客
原创
1337人浏览过

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 ;

    }
}

运行实例 »

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



批改状态:未批改

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学