各类知识收集,PHP技术分享与解决方案各类知识收集,PHP技术分享与解决方案各类知识收集,PHP技术分享与解决方案

Str Tom,为分享PHP技术和解决方案,贡献一份自己的力量!
收藏本站(不迷路),每天更新好文章!
当前位置:首页 > CMS教程 > PHP

PHP——MVC模式讲解与实例

管理员 2023-09-05
PHP
121

PHP——MVC模式讲解与实例

内容导读

收集整理的这篇技术教程文章主要介绍了PHP——MVC模式讲解与实例,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3419字,纯文字阅读大概需要5分钟

内容图文

一、 MVC模式流程图

二、MVC概念

(1)作用

MVC包括控制器(Controller),模型(Model),视图(View)。

控制器的作用是调用模型和 视图,将模型产生的数据传递给视图,并让视图去显示

模型的作用是获取数据并处理返回数据

视图的作用是将取得的数据进行美化,并向用户终端输出

(2)执行过程

1. 浏览者 -> 调用控制器,发出指令

2. 控制器 -> 按指令选择合适的模型

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

4. 控制器 -> 按指令选视图

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

三、简单的MVC实例

(1)目录规划

(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.运行结果

四、简单的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

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

以上就是PHP——MVC模式讲解与实例的详细内容,更多请关注Gxl网其它相关文章!

内容总结

以上是为您收集整理的PHP——MVC模式讲解与实例全部内容,希望文章能够帮你解决PHP——MVC模式讲解与实例所遇到的程序开发问题。 如果觉得技术教程内容还不错,欢迎将网站推荐给程序员好友。

内容备注

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

扫码关注

qrcode

QQ交谈

回顶部