• PHP之简单实现MVC框架


    PHP之简单实现MVC框架

     

    1.概述

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

    2.代码结构

    3.代码实现

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    <?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;
        }
    ?>
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    <?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();
    ?>
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    <?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);
            }
        }
    ?>
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    //testModel.class.php
    /*
    模型的作用是获取数据并处理,返回数据
    */
        class testModel{
            function get(){
                return "hello world";
            }
        }
    ?>
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    //testView.class.php
    /*
    视图的作用是将获得的数据进行组织,美化等,并最终向用户终端输出
    */
        class testView{
            function display($data){
                echo $data;
            }
        }
    ?>

     运行结果:

     
    分类: PHP
  • 相关阅读:
    python
    ASCII码表
    maven使用阿里云maven库
    eclipse中使用maven的 maven install
    软件项目版本号的命名规则及格式
    win7局域网内共享文件夹及安全设置
    restful返回 json数据的JavaBean设计
    关于StringUtils类isEmpty、isNotEmpty、isBlank、isNotBlank针对null、空字符串和空白字符(如空格、制表符)的区别
    maven如何引入servlet-api和jsp-api
    NetBeans的(默认)快捷键
  • 原文地址:https://www.cnblogs.com/u0mo5/p/5011838.html
Copyright © 2020-2023  润新知