博主信息
博文 65
粉丝 3
评论 4
访问量 80664
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
简单MVC设计
无耻的鱼
原创
999人浏览过

MVC是最经典,也是最流行的Web项目设计思想

M:Model模型层,用来实现也数据库相关的操作

V:View视图层,用来实现用户界面与数据展示

C:Controller 控制器层,根据视图层的要求选择合适的模型

效果图

123.png

文件路径

1.png

下边看代码

controller文件夹里的代码

这个文件是通俗的理解就是将下边两个文件里的代码引入执行操作


实例

<?php
/**
 * User: Z先生
 * Date: 2018/5/10
 */

namespace mvc\controller;

class Controller
{
    public function get(){

        require './model/Model.php';


        $a = new \mvc\model\Model('php','root','root');
        $aa =$a->select('aaa');

        $aaa = $a->result;

        require './view/View.php';

        $b = new \mvc\view\View($aaa);
        $bb = $b->getData();
        $b->display($bb);
    }
}

运行实例 »

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

model文件夹

这个文件执行的是数据库操作,或者数据收集,index文件是测试


model.php实例

<?php
/**
 * User: Z先生
 * Date: 2018/5/10
 */

namespace mvc\model;

class Model
{
    public $pdo = null;

    public $result = [];

    public function __construct($dbname,$user,$pass)
    {
        //数据库连接
        $this->pdo = new \PDO('mysql:host=127.0.0.1;dbname='.$dbname,$user,$pass);
    }

    //执行查询,获取结果集
    public function select($table)
    {
        //创建预处理语句
        $stmt = $this->pdo->prepare("SELECT * FROM {$table} ;");

        //执行查询

        $stmt -> execute();

        //解析结果集:将复制过来的 $result 替换成成 $this->result
        $this->result = $stmt -> fetchAll(\PDO::FETCH_ASSOC);
    }


}

运行实例 »

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


index测试 实例

<?php
/**
 * User: Z先生
 * Date: 2018/5/10
 * 测试Model
 */

require 'Model.php';
use mvc\model\Model;

$a = new Model('php','root','root');
$a->select('aaa');
print_r($a->result);

运行实例 »

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


view文件夹

这个文件夹操作的是数据处理,就是把后台处理好的数据,在这里弄成展示模板


View实例

<?php
/**
 * User: Z先生
 * Date: 2018/5/10
 */

namespace mvc\view;

class View
{
    public $data =null;

    public function __construct($data)
    {
        $this->data = $data;
    }

    public function getData()
    {
        return $this->data;
    }

    public function display($da)
    {

        $table = '		
	<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>
	
	<table>
		<caption>员工信息表</caption>
		<tr>
			<th>ID</th>
			<th>姓名</th>
			<th>年龄</th>
			<th>工资</th>
		</tr>';

        foreach ($da as $staff) {
            $table .= '<tr>';
            $table .=  '<td>'.$staff['id'].'</td>';
            $table .=  '<td>'.$staff['name'].'</td>';
            $table .=  '<td>'.$staff['age'].'</td>';
            $table .=  '<td>'.$staff['money'].'</td>';
        }

        $table .= '</table>';

        echo $table;


    }
}

运行实例 »

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


index 测试 实例

<?php
/**
 * User: Z先生
 * Date: 2018/5/10
 */

require '../model/Model.php';
use mvc\model\Model;

$a = new mvc\model\Model('php','root','root');
$aa =$a->select('aaa');

$aaa = $a->result;



require '../view/View.php';
use mvc\model\View;

$b = new mvc\view\View($aaa);
$bb = $b->getData();
$b->display($bb);

运行实例 »

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

/************************************************************************************/

最后一个index文件就是执行操作controller的了

实例

<?php
/**
 * User: Z先生
 * Date: 2018/5/10
 */

require 'controller/Controller.php';
use mvc\controller;

$a = new \mvc\controller\Controller();

$a->get();

运行实例 »

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






批改状态:未批改

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系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+教程免费学