博主信息
博文 60
粉丝 1
评论 1
访问量 76499
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
PHP编程简单MVC的实现原理_2018年9月7日
PHP学习
原创
929人浏览过

1,Model控制器

实例

<?php
/**
 * 控制器
 */

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($tbale,$num)
    {
        $sql = "SELECT `id`,`name`,`email`,`age` FROM {$tbale} LIMIT {$num}";
        $stmt = $this->pdo->prepare($sql);
        $stmt->bindValue(':num',$num,\PDO::PARAM_INT);
        $stmt->execute();
        $this->result = $stmt->fetchAll(\PDO::FETCH_ASSOC);
    }
}

运行实例 »

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

2、VIEW视图

实例

<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2018/9/17
 * Time: 0:31
 */

namespace mvc\view;


class View
{
    public $data = [];
    public function __construct($data)
    {
        $this->data = $data;
    }
    public function getdata()
    {
        return $this->data;
    }
    public function Rendering($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">
    <title>员工表</title>
</head>
<body>
<div class="box">
    <table>
        <tr>
            <td>ID</td>
            <td>姓名</td>
            <td>邮箱</td>
            <td>年龄</td>
        </tr>';
        foreach ($data as $staff) {
            $table .= '<tr>';
            $table .= '<td>'.$staff['id'].'</td>';
            $table .= '<td>'.$staff['name'].'</td>';
            $table .= '<td>'.$staff['email'].'</td>';
            $table .= '<td>'.$staff['age'].'</td>';
            $table .= '</tr>';
        }
        $table .='</table></div></body></html>';
        echo $table;
    }
}

运行实例 »

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

3、CONTROLLER设置器

实例

<?php
namespace mvc\controller;
use mvc\model\Model;
use mvc\view\View;

class Controller
{
    public function inde()
    {
        require './model/Model.php';
        $model = new Model('php','root','root');
        $model->select('user',10);
        $result = $model->result;
        require './view/View.php';
        $view = new View($result);
        $data = $view->getdata();
        $view->Rendering($data);
    }
}

运行实例 »

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

4、首页入口文件

实例

<?php
use mvc\controller\Controller;
require './controller/Controller.php';
$controller = new Controller;
$controller->inde();

运行实例 »

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

总结:在写做的过程中不是很仔细,对于命名空间还是不了解,因为当中出现了很多错误。还有就是对对象的了解还是非常的模糊,还要加强学习。总体来说,能够把一些问题搞懂也是非常的不容易。

MVC设计的思想:我觉得MVC设计的思想就是要把代码做得更好的管理,把数据处理,页面效果通过设置器来来调协 ,然后通过调用的方法。第一是让程序更好的重复使用,第二就是为了更好的管理,第三就是为安全方面着想。我觉得是这样。我相信MVC的作用肯定还有更大的用处。

批改状态:合格

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

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

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