当前位置:首页 > PHP教程 > 正文内容

PHP——MVC形式解说与实例【php教程】,MVC

搜教程4年前 (2019-12-01)PHP教程152
一、 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相干题目请接见ki4网:PHP视频教程

以上就是PHP——MVC情势解说与实例的细致内容,更多请关注ki4网别的相干文章!

扫描二维码推送至手机访问。

版权声明:本文由搜教程网发布,如需转载请注明出处。

本文链接:https://www.sojiaocheng.cn/15549.html

标签: MVC
分享给朋友:

“PHP——MVC形式解说与实例【php教程】,MVC” 的相关文章

怎样运用PHP建立CSV文件?(代码示例)【php教程】,PHP,创建CSV文件

怎样运用PHP建立CSV文件?(代码示例)【php教程】,PHP,创建CSV文件

CSV(逗号分开值)是在应用程序之间传输表格数据的最经常运用要领之一;建立将数据导出到CSV的代码在很多应用程序中非常有效。下面本篇文章就来带人人相识怎样运用PHP建立CSV文件,愿望对人人有所协助。 下面就经由过程代码示例来细致引见一下: 运用静态数据建立CSV文件 假如要将数据存储...

PHP各环境下的伪静态设置的要领引见(代码)【php教程】,PHP

本篇文章给人人带来的内容是关于PHP各环境下的伪静态设置的要领引见(代码),有肯定的参考价值,有须要的朋侪能够参考一下,愿望对你有所协助。 一、Apache的伪静态设置 1、网站根目录下须要有 .htaccess 文件,没有则本身建立一个,内容为 <IfModule mod_re...

PHP框架中MVC架构的剖析(附示例)【php教程】,php,yii,设计模式

本篇文章给人人带来的内容是关于PHP框架中MVC架构的剖析(附示例),有肯定的参考价值,有须要的朋侪能够参考一下,愿望对你有所协助。 在说 MVC 架构之前,先说说PHP框架吧。许多许多学完PHP言语的人,面临的就是PHP林林总总的框架。什么TP啊、Yii啊、CI啊,另有很盛行的laravel...

PHP7.0新增功用详解(实例)【php教程】,PHP7.0新增功能

PHP7.0新增功用详解(实例)【php教程】,PHP7.0新增功能

这一篇主假如来细致分析php7.0的新增功用。 一、机能与底层 PHP7速率是 PHP5.6 的两倍 php7 最显著的变化就是机能的极大提拔,已靠近Facebook开辟的PHP实行引擎HHVM。在WordPress基准机能测试中,速率比5.6版本要快2~3倍,大大削减了内存占用。PHP7...

如安在Windows上装置PHP7?【php教程】,Windows安装PHP7

如安在Windows上装置PHP7?【php教程】,Windows安装PHP7

本篇文章中,我们将给人人引见在Windows上装置PHP7版本的简朴步骤,愿望对须要的朋侪有所协助! 1. 下载并装置PHP7 起首,你须要在https://windows.php.net/download下载所需的PHP版本,在我的示例中,我将下载PHP7.2的zip文件 下载后...

PHP支撑CURL字符串证书传输的要领引见(代码)【php教程】,PHP

本篇文章给人人带来的内容是关于PHP支撑CURL字符串证书传输的要领引见(代码),有肯定的参考价值,有须要的朋侪能够参考一下,愿望对你有所协助。 近来在对接微信付出的时刻,须要在退款处用到证书,因为我们是SAAS平台,要支撑多方多渠道付出,假如把一切证书文件保留在应用服务器会遭到SLB的影响,...