简说PHP之MVC

mvc是模型(model)-视图(view)-控制器(controller)的缩写,是一种软件架构模式,MVC模式可以使代码结构清晰,更易维护
  • 模型(model) : 负责处理数据
  • 视图(view) : 负责处理页面
  • 控制器(controller): 负责处理业务逻辑
工作的流程
  1. 控制器 调用 模型 获取数据
  2. 控制器 将获取到的数据交给 视图 进行渲染
  3. 视图或控制器将渲染好的视图返回


下面我们用不同的方式实现显示一个水果价格列表,显示效果见下图


0.不使用mvc

<?php
$data = [
	'apple'=>['name'=>'苹果','price'=>5],
	'banana'=>['name'=>'香蕉','price'=>3],
	'pear'=>['name'=>'葡萄','price'=>6]
	];

$html = '<ul>';

foreach ($data as $key => $value) {
	$html .= "<li>名称:{$value['name']} 价格:{$value['price']}元</li>";
}

$html .= '</ul>';

echo $html;
复制代码

1.单文件函数实现

<?php

controller();

function model()
{
    $data = [
	'apple'=>['name'=>'苹果','price'=>5],
	'banana'=>['name'=>'香蕉','price'=>3],
	'pear'=>['name'=>'葡萄','price'=>6]
	];
    return $data;
}

function view($data)
{
	$html = '<ul>';
	foreach ($data as $key => $value) {
            $html .= "<li>名称:{$value['name']} 价格:{$value['price']}元</li>";
	}
	$html .= '</ul>';
	return $html;
}

function controller()
{
    $data = model();
    $view = view($data);
    echo $view;
}
复制代码

首先定义了m() v() c() 这三个函数

        请求进来时调用 c函数(控制器),控制器首先调用 m函数(模型)获取数据,然后调用 v函数(视图) ,将获取到的数据传给视图,由视图渲染html,渲染完成返给控制器,由控制器输出到浏览器

这个版本已经将代码实现了基本的 mvc分离,可以说实现了基本的mvc结构

2.多文件类实现

分别建立Controller类 Model类 View类,并独立到三个文件中,请求由index.php处理



完毕


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值