Heim  >  Artikel  >  Backend-Entwicklung  >  PHP – MVC-Mustererklärung und Beispiele

PHP – MVC-Mustererklärung und Beispiele

王林
王林nach vorne
2019-08-23 17:31:019960Durchsuche

1. MVC-Musterflussdiagramm

PHP – MVC-Mustererklärung und Beispiele

2. MVC-Konzept

(1) Funktion

MVC umfasst Controller, Modell und Ansicht.

Die Rolle des Controllers besteht darin, das Modell und die Ansicht aufzurufen, die vom Modell generierten Daten an die Ansicht zu übergeben und sie von der Ansicht anzeigen zu lassen.

Die Rolle des Modells besteht darin Erhalten Sie die Daten und verarbeiten Sie die zurückgegebenen Daten

Die Funktion der Ansicht besteht darin, die erhaltenen Daten zu verschönern und an das Benutzerterminal auszugeben

(2) Ausführungsprozess

1 . Viewer-> Rufen Sie den Controller auf und geben Sie Anweisungen aus

Wählen Sie das entsprechende Modell gemäß dem Befehl

🎜>

4. Wählen Sie die Ansicht gemäß dem Befehl

Anzeigen der erhaltenen Daten

3 >

(1) Verzeichnisplanung

PHP – MVC-Mustererklärung und Beispiele (2) Schreiben von Klassendateien 1 Klassendatei


Benennungsregeln: test (name) Controller (Controller-Datei).class.php (Klassendatei)

<!-- 
 首先实例化控制器对象,并调用指令方法,
 方法里面实例化模型对象,调用取数据方法
 并实例化视图对象,调用展示方法
  -->
  <!-- 
 控制器的方法没有参数,而其他的就有参数
   -->
<?php
    // 类名和文件名相同 
    class testController{
        function show(){
            
            $testModel = new testModel();//按指令选择一个模型
            $data = $testModel -> get();//模型按照指令取数据
            //按指令选择视图 实例化一个view的对象
            $testView  = new testView();
            //把取到的数据按用户的样子显示出来
            $testView -> display($data);
        }
    }
?>

2. testModel.class.php Modellklassendatei

Benennungsregeln: test (Modelldateiname) Model (Modelldatei).class.php Klassendatei

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

3. Einzeleintragsdatei

Lassen Sie ihn den Controller aufrufen, und der Controller ruft das Modell auf und zeigt an

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

Laufergebnisse

4 . Einfache Verbesserung der MVC-Instanz ----Method Encapsulate

PHP – MVC-Mustererklärung und Beispiele

1. Kapseln Sie ein Objekt, das einen Controller usw. instanziiert, und eine Funktion, die Methoden aufruft

<?php
//引入类文件
require_once(&#39;/libs/Controller/testController.class.php&#39;);
require_once(&#39;/libs/Model/testModel.class.php&#39;);
require_once(&#39;/libs/View/testView.class.php&#39;);
 
//类的实例化
$testController = new testController();//对象赋值给变量
$testController->show();//调用方法
?>
2. Schreiben Sie den Eintrag neu Datei index.php

Browser-URL-Zugriffsformular http://...index.php?controller=controller name&method=method name

<?php
 
    //控制器名字和要执行的方法
    function C($name,$method){
        require_once(&#39;/libs/Controller/&#39;.$name.&#39;Controller.class.php&#39;);
        //对象赋值给变量
        // $testController = new testController();
        // $testController->show();
        eval(&#39;$obj = new &#39;.$name.&#39;Controller();$obj->&#39;.$method.&#39;();&#39;);//把字符串转换为可执行的php语句
    }
    //封装一个实例化模型的对象和调用方法的函数
    function M($name){
        require_once(&#39;/libs/Model/&#39;.$name.&#39;Model.class.php&#39;);
        //$testModel = new testModel();
        eval(&#39;$obj = new &#39;.$name.&#39;Model();&#39;);//实例化
        return $obj;
    }
 
    //封装一个实例化视图的对象和调用方法的函数
    function V($name){
        require_once(&#39;/libs/View/&#39;.$name.&#39;View.class.php&#39;);
            //$testView  = new testView();
            eval(&#39;$obj = new &#39;.$name.&#39;View();&#39;);
            return $obj;
    }
 
    //为了安全性 ,过滤函数
    //addslashes对’,字符进行转义
    //get_magic_quotes_gpc()当前魔法符号的打开状态,打开返回true,
    function daddslashes($str){
        return (!get_magic_quotes_gpc() )? addslashes($str) : $str;
    }
?>

Laufende Ergebnisse

Browser Zugriff auf http:// localhost:8080/MVC/index.php?controller=test&method=show Hallo Welt anzeigen

Weitere PHP-bezogene Probleme finden Sie im PHP-Chinesisch Website:

PHP-Video-Tutorial

PHP – MVC-Mustererklärung und Beispiele

Das obige ist der detaillierte Inhalt vonPHP – MVC-Mustererklärung und Beispiele. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen