百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>网页制作> PHP——MVC模式解说与实例
分享文章到:

PHP——MVC模式解说与实例

发布时间:09/01 来源:未知 浏览: 关键词:
一、 MVC模式流程图

20190321174858211.png

二、MVC概念

(1)作用

MVC包罗操纵器(Controller),模型(Model),视图(View)。

操纵器的作用是调取模型和 视图,将模型发生的数据传递给视图,并让视图去显示

模型的作用是猎取数据并处置返回数据

视图的作用是将取得的数据停止美化,并向会员终端输出

(2)施行历程

1. 阅读者 -> 调取操纵器,发出指令

2. 操纵器 -> 按指令选中适宜的模型

3. 模型 -> 按指令取数据

4. 操纵器 -> 按指令选视图

5 . 视图 -> 把取到的数据展现出来

三、简便的MVC实例

(1)名目计划

20190321200614451.png

(2)编写类文件
1. testController.class.php 操纵器类文件

命名规则:test(名字)Controller(操纵器文件).class.php ( 类文件 )

<!-- 
 第一实例化操纵器对象,并调取指令办法,
 办法里面实例化模型对象,调取取数据办法
 并实例化视图对象,调取展现办法
  -->
  <!-- 
 操纵器的办法没有参数,而其他的就有参数
   -->
<?php
    // 类名和文件名雷同 
    class testController{
        function show(){
            
            $testModel = new testModel();//按指令选中一个模型
            $data = $testModel -> get();//模型依照指令取数据
            //按指令选中视图 实例化一个view的对象
            $testView  = new testView();
            //把取到的数据按会员的模样显示出来
            $testView -> display($data);
        }
    }
?>

2. testModel.class.php 模型类文件
命名规则:test(模型文件名称 )Model( 模型文件).class.php 类文件

<?php 
    class testModel{
        //猎取数据
        function get(){
            return "hello world";
        }
    }
?>

3. testView.class.php 视图类文件

<?php 
    class testView{
        //展现数据
        function display($data){
            echo $data;
        }
    }
?>

4. 简单入口文件

让他来调取操纵器,而操纵器去调取模型和视图

<?php
//引入类文件
require_once('/libs/Controller/testController.class.php');
require_once('/libs/Model/testModel.class.php');
require_once('/libs/View/testView.class.php');
 
//类的实例化
$testController = new testController();//对象赋值给变量
$testController->show();//调取办法
?>

5.运转结果

20190321202052335.png

四、简便的MVC实例改善----办法封装

1. 封装一个实例化操纵器等的对象和调取办法的函数

<?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.'();');//把字符串转换为可施行的php语句
    }
    //封装一个实例化模型的对象和调取办法的函数
    function M($name){
        require_once('/libs/Model/'.$name.'Model.class.php');
        //$testModel = new testModel();
        eval('$obj = new '.$name.'Model();');//实例化
        return $obj;
    }
 
    //封装一个实例化视图的对象和调取办法的函数
    function V($name){
        require_once('/libs/View/'.$name.'View.class.php');
            //$testView  = new testView();
            eval('$obj = new '.$name.'View();');
            return $obj;
    }
 
    //为了平安性 ,过滤函数
    //addslashes对’,字符停止转义
    //get_magic_quotes_gpc()当前魔法符号的翻开状态,翻开返回true,
    function daddslashes($str){
        return (!get_magic_quotes_gpc() )? addslashes($str) : $str;
    }
?>

2.从新编写入口文件index.php

阅读器url拜访情势 http://......index.php?controller=操纵器名&method=办法名

<?php 
require_once('function.php');
 
//同意拜访的操纵器名和办法名的数组
$controllerAllow=array('test','index');
$methodAllow =array('test','index','show');
//用get方式接收url中的参数
//过滤输入不法字符  并推断可否在数组里
$controller = in_array($_GET['controller'],$controllerAllow )? daddslashes($_GET['controller']) :'index' ;
$method = in_array($_GET['method'],$methodAllow) ? daddslashes($_GET['method']) :'index';
//调取操纵器和施行办法
C($controller,$method);
 
?>

3.运转结果

阅读器拜访 http://localhost:8080/MVC/index.php?controller=test&method=show 显示hello world

20190321202550341.png

想理解更多PHP相关问题请拜访PHP中文网:PHP视频教程

以上就是PHP——MVC模式讲解与实例的具体内容,更多请关注百分百源码网其它相关文章!

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有151人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板