我爱编程网小编给大家带来了php使用mvc框架实现网站 什么是MVC以及PHP怎样实现MVC相关文章,一起来看一下吧。
如何用PHP实现自己的MVC
MVC三个字母的含义: M:Model 模型,负责数据库操作。 V:View 视图,负责调用Model调取数据,再调用模板,展示出最终效果。 C:Controller 控制器,程序的入口,决定改调用哪个View,并告诉View该做什么。 下面是一个超级简单的MVC结构实现: Controller.php include 'Model.php'; include 'View.php'; class Controller { private $model = ''; private $view = ''; public function Controller(){ $this->model = new Model(); $this->view = new View(); } public function doAction( $method = 'defaultMethod', $params = array() ){ if( empty($method) ){ $this->defaultMethod(); }else if( method_exists($this, $method) ){ call_user_func(array($this, $method), $params); }else{ $this->nonexisting_method(); } } public function link_page($name = ''){ $links = $this->model->getLinks(); $this->view->display($links); $result = $this->model->getResult($name); $this->view->display($result); } public function defaultMethod(){ $this->br(); echo "This is the default method. "; } public function nonexisting_method(){ $this->br(); echo "This is the noexisting method. "; } public function br(){ echo ""; } } $controller = new Controller(); $controller->doAction('link_page', 'b'); $controller->doAction(); Model.php class Model { private $database = array( "a" => "hello world", "b" => "ok well done", "c" => "good bye", ); //@TODO connect the database //run the query and get the result public function getResult($name){ if( empty($name) ){ return FALSE; } if( in_array($name, array_keys( $this->database ) ) ){ return $this->database[$name]; } } public function getLinks(){ $links = "Link A "; $links.= "Link B "; $links.= "Link C "; return $links; } } View.php class View { public function display($output){ // ob_start(); echo $output; }
[转载]PHP网站后台开发为什么要使用MVC
在开发团队中,mvc提供了有效的合作模式,它将各人的职责分成为三个主要的角色.
1.开发.开发人员是指处理模型的程序员.他们通常拥有与php、数据库管理,算法、架构和数据校验等方面相关的技能。这一角色通常会负责实现应用程序的编程细节,它们会提供API,同时实现处理数据的策略。
2.设计。设计人员处理视图并负责实现应用程序的外观。他们具有如html,css,javascript和图形设计等方面的技能。通常,这一角色负责与内外部的通信源交互以决定要开发或者增强的应用程序的现实的业余规则。设计通常会导致原型的开发,也就是创建能够显示理想功能的模型设计。
3。集成。集成工作存在于控制器层中,它将设计师和开发人员的工作连接在一起。集成人员的经验通常比开发人员要少,他们负责切割静态模板并且制作应用程序所需的动态区域。他们还负责代理来自请求源的数据。他们将从表格中获取请求信息,将这些信息传递给模型,解释结果,并且将结果传递给视图。
通过职责分工,开发方法的细节与开发需求的细节分开了,这合得创意学科和技术学科能够容易地交互
在一个典型的工作流中,首先设计师会根据现存的业余需求以及应用程序所要实现的功能,制作一个静态的、单独的原型设计。然后设计师将设计内容交给开发人同评审。
开发人员负责确保所有要求实现的功能是可行的,并且符合公司的安全和隐私策略。如果开发人员没有发现任何问题,他们就会创建一个开发计划,基中包括一个PHP的API模型,然后再交给集成人员。如果原型出现问题,项目会回到设计人员手中,这一过程就再次从头开始。
准备好设计原型和API模型之后,集成工作就会开始。集成人员将研究原型设计,并将它转换成模板语言,如普通的PHP,smarty等。这使得设计内容可以处理动态数据,并且将设计集成到完全由集成人员负责的站点URL结构中。然后编写一个控制器组件,这一组件会将请求(来自于表格,URL参数,cookie等)在WEB服务器和他们需要操纵的模型信息之间代理分发。结果产生之后,获取视图输出,并且控制器会提供所有动态内容的值。 最后,当API模型完全实现之后,就可以将应用程序交给测试人员测试了。如果集成人员根据规范来编写控制器,并且模型开发人员遵循API编写代码,那么一切都会顺利进行。
MVC架构除了可以在团队成员之间分配职责之外,它还提供了几个非常关键的功能。其中一个只要表现层的设计不破坏与控制器的约定,它就允许在任何时间修改和更新表现层的设计,这意味着可以很容易地编辑副本或者变化主题,而不用改变应用程序的操作方法或者整理大量的PHP代码。 MVC架构还提供了一个有用的文件结构的分类方法。每个mvc框架都有一个不同于其他框架的结构和布局,但是他们全部为模型,视图和控制器提供了单独的文件,并且很少有例外的情况。这一特性会减少代码冲突,并且会节省原本用于合并版本控制系统中的修改时间大学生顺利就业应具备的能力
我爱编程网
什么是MVC以及PHP怎样实现MVC
其实你的问题一开始就问错了,即然你问了,我就随便说说好了。
MVC 是一种设计风格,并不是一种具体手法。每个人写代码都有自己习惯的一种设计风格。MVC 是应用程序开发常用的一种风格,实际上并不适合 PHP,因为 PHP 的工作环境注定了它很难做出像样的控制器,也就是 Controll 。
MVC 本来的设计风格是:整个系统由一个程序启动,再根据用户操作调用各个处理模块,根据数据结果来决定显示成什么样给用户看。就像我们平时用的各种程序的主界面。这样程序员创建好主程序以后,只要把注意力集中在开发各个子功能上就可以了。。
可是 php 大多数情况下工作于 web 环境,有“页”的概念,每次执行都是一个新的请求。这就注定了很难实现真正的 MVC,因为用户看到页面时,PHP 已经执行完了,不可能再切换去调另一个 模型M 和 视图V 。
目前自称 MVC 的各种框架。也只不过是用一个程序判断请求,加载不同的功能块。只能称之为“单点入口”,在思路上是“请求相同的部份,而包含不同的部份”。这个入口程序实际上啥也没做,所以算不上是 MVC。反而 JS 开发的富客户端更接近一些。由一个 JS 主程序,跟据用户请求决定调用哪些数据,再把界面改变成什么样。
设计风格是前人总结出来的东西,在当前语言,当然环境,当前思维方式下。比较容易继续思考的一种设计方式。MVC 只不过是其中一种,而且并不是最适合 PHP 的一种。偏偏被炒作得好像标准似的。。
如果你一定要, 就去看一下 “PHP 单点入口实现”吧,已经是比较接近的东西了。如果一次性的控制器也能算控制器的话……
以上就是我爱编程网小编给大家带来的php使用mvc框架实现网站 什么是MVC以及PHP怎样实现MVC,希望能对大家有所帮助。