PHP简单的MVC框架实现方法

5年以前  |  阅读数:1045 次  |  编程语言:PHP 

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

1.概述

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

2.代码结构

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

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

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

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

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

为什么使用MVC

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

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

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

 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例