Rumah >pembangunan bahagian belakang >tutorial php >你了解php中的MVC吗?
MVC模式是1970年由trygve reenskaug在施乐公司的研究中心提出的。最早的参考例程代码是用smalltalk80编写的。它最初是用来解决应用软件中的用户图形界面的交互问题的。
你要使用了MVC模式,你就会知道它是多么的有用,尤其是对于图形化的用户界面应用。除此之外,MVC对web应用也非常有用,虽然web服务进行通讯连接,与通讯过程有时会中断,但这也带来了一些独特的挑战和机会。
假如你到这一章来寻找一种真正的对于web应用的MVC方法,我希望你不会对于这里的答案太失望。最完美的解决方案是不存在的,但是这里有很多实例以及相关的模式,帮助你有效的去实施MVC。有希望的是,这里的观点能作为你的编码工作的跳板,并且带领你进行更多的研究。
模块视图控制器
不像其他的设计模式,MVC模式不是一个注重于讲述一种可以直接设计编码的类结构的模式。相反,它不仅仅是概念上的指导或范例。
在概念上,MVC模式的定义的是model,view以及controller三者之间的桥梁。controller以及view都依赖于model,因为view和controller都得向model发送数据请求。数据通过controller输入到你的系统当中,并最终通过view显示出结果。对于你一个php开发者,更具体的来说,controller处理每一个外部的http请求,而view将产生http回应。
MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。
学习一个框架之前,基本上我们都需要知道什么是mvc,即model-view-control,说白了就是数据控制以及页面的分离实现,mvc就是这样应运而生的,mvc分为了三个层次,而且三个层次各司其职,互不干扰,首先简单介绍下,各个层次,view即是视图,也就是web页面,control即是控制器 向系统发出指令的工具,model 简单说是从数据库中取出数据进行处理。
Mvc的工作流程:第一步 浏览者->调用控制器,对此发出指令
第二步 控制器->按指令选取一个合适的模型
第三步 模型->按照控制器指令选取相应的数据
第四步 控制器->按指令选取相应的视图
第五步 视图->把第三步取到的数据按用户想要的样子显示出来
简单地实例开发如下,首先进行第一个控制器的开发 我们在此命名规范如下testController.class.php
<?php class testController{ function show(){ } } ?>
其次书写一个简单地模型如下testModel.class.php
<?php class testModel{ function get(){ return "hello world"; } } ?>
第一个视图文件的创建testView.class.php 是为了呈现数据所存在的
<?php class testVies{ function display($data){ echo $data; } } ?>
下面我们要做的就是按照之前所说的五步进行程序的测试:代码如下 测试文件的建立test.php
<?php require_once('testController.class.php'); require_once('testModel.class.php'); require_once('testView.class.php'); $testController = new testController();//调用控制器 $testController->show(); ?>
<?php class testController{ function show(){ $testModel = new testModel();//选取合适的模型 $data = $testModel->get();//获取相应的数据 $testView = new testView();//选择相应的视图 $testView->display($data);//展示给用户 } } ?>
浏览器打开test.php 会显示为hello world,说明我们已经成功了。
Atas ialah kandungan terperinci 你了解php中的MVC吗?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!