欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

PHP简单的MVC框架实现方法

程序员文章站 2022-07-11 11:15:01
在php中使用mvc越来越流行了,特别是在一些开源的框架当中。 1.概述   mvc全名是model view controller,是模型(model)-视图(vie...

在php中使用mvc越来越流行了,特别是在一些开源的框架当中。

1.概述

  mvc全名是model view controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。mvc被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。

2.代码结构

PHP简单的MVC框架实现方法

PHP简单的MVC框架实现方法

3.代码实现

<?php
    //function.php 
  //控制器调用函数
  function c($name, $method){
    require_once('libs/controller/'.$name.'controller.class.php');
    //$testcontroller = new testcontroller();
    //$testcontroller->show();
    eval('$obj = new '.$name.'controller(); $obj->'.$method.'();');
  }
  //模型调用函数
  function m($name){
    require_once('libs/model/'.$name.'model.class.php');
    eval('$obj = new '.$name.'model();');
    return $obj;
  }
  //视图调用函数
  function v($name){
    require_once('libs/view/'.$name.'view.class.php');
    eval('$obj = new '.$name.'view();');
    return $obj;
  }
  //过滤非法值
  function daddslashes($str){
    return (!get_magic_quotes_gpc())?addslashes($str):$str;
  }
?>
<?php
//test.php
/*
第一步 浏览者 -> 调用控制器,对它发出指令
第二步 控制器 -> 按指令选取一个合适的模型
第三步 模型 -> 按控制器指令取相应数据
第四步 控制器 -> 按指令选取相应视图
第五步 视图 -> 把第三步取到的数据按用户想要的样子显示出来
*/
require_once('view/testview.class.php');
require_once('model/testmodel.class.php');
require_once('controller/testcontroller.class.php');
$testcontroller = new testcontroller();
$testcontroller->show();
?>
<?php
//testcontroller.class.php
/*
控制器的作用是调用模型,并调用视图,将模型产生的数据传递给视图,并让相关视图去显示
*/
  class testcontroller{
    function show(){
      /*$testmodel = new testmodel();
      $data = $testmodel->get();
      $testview = new testview();
      $testview->display($data);*/
      $testmodel = m('test');
      $data = $testmodel->get();
      $testview = v('test');
      $testview->display($data);
    }
  }
?>
<?php
//testmodel.class.php
/*
模型的作用是获取数据并处理,返回数据
*/
  class testmodel{
    function get(){
      return "hello world";
    }
  }
?>
<?php
//testview.class.php
/*
视图的作用是将获得的数据进行组织,美化等,并最终向用户终端输出
*/
  class testview{
    function display($data){
      echo $data;
    }
  }
?>

 运行结果:

PHP简单的MVC框架实现方法

php中的mvc

mvc[1]在软件工程中是一种软件的架构。从php的角度来讲mvc有一些不同。

model(模型),程序应用功能的实现,程序的逻辑的实现。在php中负责数据管理,数据生成。

view(视图),图形界面逻辑。在php中负责输出,处理如何调用模板、需要的资源文件。

controller(控制器),负责转发请求,对请求处理。在php中根据请求决定调用的视图及使用的数据。

为什么使用mvc

mvc的主要作用是为了将代码分层、分类。

mvc的主要目的是为了解决web开发中分离开发与设计工作,使其工作相对独立。

在这样的过程中还发现了其他的一些优点,网站的目录结构更加清晰,网站更易维护与扩展,可以实现模块的复用。