91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP中MVC模式流程是什么

發布時間:2020-11-10 10:47:09 來源:億速云 閱讀:183 作者:小新 欄目:編程語言

這篇文章主要介紹了PHP中MVC模式流程是什么,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

                                                           一、 MVC模式流程圖

PHP中MVC模式流程是什么

二、MVC概念

(1)作用

MVC包括控制器(Controller),模型(Model),視圖(View)。

控制器的作用是調用模型和 視圖,將模型產生的數據傳遞給視圖,并讓視圖去顯示

模型的作用是獲取數據并處理返回數據

視圖的作用是將取得的數據進行美化,并向用戶終端輸出

(2)執行過程

1.  瀏覽者 ->  調用控制器,發出指令

2.  控制器 ->  按指令選擇合適的模型

3.    模型    ->  按指令取數據

4.  控制器 ->  按指令選視圖

5 .   視圖    ->  把取到的數據展示出來

三、簡單的MVC實例

(1)目錄規劃

PHP中MVC模式流程是什么

(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.運行結果

PHP中MVC模式流程是什么

四、簡單的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中MVC模式流程是什么

感謝你能夠認真閱讀完這篇文章,希望小編分享PHP中MVC模式流程是什么內容對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

德庆县| 隆德县| 临洮县| 灌云县| 新干县| 忻州市| 凤翔县| 永善县| 芜湖县| 夏河县| 新密市| 额尔古纳市| 武隆县| 金华市| 盐池县| 建宁县| 绥宁县| 当雄县| 永康市| 古丈县| 中超| 平山县| 黎川县| 申扎县| 洛川县| 商洛市| 东光县| 体育| 班戈县| 重庆市| 孟村| 子长县| 普宁市| 信丰县| 庐江县| 永济市| 雅江县| 东至县| 奉节县| 五大连池市| 化德县|