Heim > Backend-Entwicklung > PHP-Problem > Einfache Implementierung von PHP MVC

Einfache Implementierung von PHP MVC

藏色散人
Freigeben: 2023-03-07 17:56:01
Original
2541 Leute haben es durchsucht

So implementieren Sie PHP MVC: Definieren Sie zuerst das Systemverzeichnis und geben Sie dann den Controller ein. Geben Sie dann „path/to/yoursite/index.php?controller=test&action=test“ in den Browser ein.

Einfache Implementierung von PHP MVC

Empfohlen: „PHP-Video-Tutorial

Der einfachste Weg, die MVC-Entwicklung in PHP zu implementieren – Single Point of Entry

Heute werde ich beginnen, einige meiner Kenntnisse von MVC im Detail zu schreiben, und Ich implementieren während des Entwicklungsprozesses einen Prozess meines eigenen Frameworks. Vielleicht ist das, was ich gesagt habe, falsch, bitte korrigieren Sie mich!

Auf der Website gibt es viele Lehrmaterialien. Ich werde hier nicht auf Details eingehen. Wenn Sie es nicht verstehen, empfehle ich Ihnen, auf Baidu nach „MVC“ zu suchen wollen. Hier werde ich über mein Verständnis von MVC in der tatsächlichen PHP-Entwicklung sprechen. M, Modul, Hauptaufgabe besteht darin, Daten aus Datenbanken oder anderen Dateisystemen auf die von uns benötigte Weise zu lesen. V. Ich verstehe, dass es hauptsächlich für die Anzeige von Daten für Benutzer in HTML-Form verantwortlich ist. C, Controller, ist hauptsächlich für die Geschäftslogik verantwortlich. Wenn Sie beispielsweise die Login-Schnittstelle anzeigen möchten, müssen Sie die loginAction-Methode eines Controller-Benutzers aufrufen, um sie anzuzeigen (möglicherweise ist hierfür kein Aufruf des Moduls erforderlich). Wenn Sie beispielsweise eine Anmeldeprüfung durchführen, können Sie die Methode userController aufrufen, um eine logische Verarbeitung durchzuführen. (Ich spüre Verdanas Korrektur_).

Zitat

M bezieht sich auf das Modell. Der Controller ist nicht an der Geschäftslogik beteiligt und der gesamte Teil der Geschäftslogik sollte in der Modellebene platziert werden. Der Controller spielt nur die Rolle des Verteilens von Anforderungen, das heißt, er ruft die aktuelle Anforderung ab, entscheidet, welches Modell aufgerufen werden soll, um die Daten abzurufen, und weist sie dann der Ansicht zu, um die Seite speziell zu rendern, denke ich Es ist am besten, einen einzigen Einstiegspunkt zu erreichen.

Was ist ein Single Point of Entry? Der sogenannte Single Point of Entry bedeutet, dass es nur einen Eingang für die gesamte Anwendung gibt und alle Implementierungen über diesen Eingang weitergeleitet werden. Oben verwenden wir natürlich index.php als Single Point of Entry , dies kann von Ihnen gesteuert werden.

Warum brauchen wir einen einzigen Einstiegspunkt? Ein einzelner Einstiegspunkt bietet mehrere Vorteile: Erstens können hier einige vom System global verarbeitete Variablen, Klassen und Methoden verarbeitet werden. Sie müssen beispielsweise eine vorläufige Datenfilterung durchführen, die Sitzungsverarbeitung simulieren, einige globale Variablen definieren und sogar einige Objekte oder Variablen im Register registrieren (hauptsächlich global implementiert, Einzelheiten finden Sie hier). zu meiner vorherigen Übersetzung einiger Artikel „Verwendung globaler Variablen in PHP“). Zweitens ist die Programmstruktur klarer. Natürlich gibt es noch viele weitere Vorteile, die ich nicht alle aufzähle. Sie können sie im Detail erleben.

Natürlich gibt es bei der Einzelpunkteingabe einige Nachteile. Wenn Ihr System beispielsweise groß wird, ist es unmöglich, nur einen Punkt als Einstiegspunkt zu haben, insbesondere wenn das System zwei völlig unabhängige Funktionen hat Ich freue mich, Ihnen mitteilen zu können, dass dies um mehrere Einträge erweitert werden kann. In einem kürzlich durchgeführten großen Projekt hatte beispielsweise die Backend-Verwaltung keinen Bezug zum Frontend, sodass ich zwei Eingänge hatte, einer ist index.php und der andere ist admin.php. Dies bedeutet jedoch nicht, dass ein einzelner Einstiegspunkt nicht gut ist (Sie können die spezifische Bedeutung herausfinden).

Wie implementiert man also einen Single Point of Entry? Darauf konzentriere ich mich in diesem Abschnitt. Im Allgemeinen wird dies durch die Adresszuordnung von URLs realisiert (ich habe bereits einen Artikel darüber geschrieben: „Beantwortung mehrerer Fragen zu PHPCHINA: URL-Zuordnung“, der den Kern der Einzelpunkteingabe implementiert. Hier setze ich ihn konkret um und demonstriere ihn unten ). Das Wichtigste am Single Point of Entry ist die Übergabe von Parametern über die URL, um die Zuordnung des Programms zu realisieren. Wenn die Adresse beispielsweise index.php?controller=test&action=test lautet, wird die Anfrage weitergeleitet Rufen Sie die entsprechende testController-Datei über index.php auf und führen Sie die entsprechende testAction-Methode aus (die Namen der Controller und Methoden beziehen sich hier auf die Ideen von Zend Framework).

Die einfachste Methode, die wir unten verwenden, ist die Implementierung des oben erwähnten Single Point of Entry (denken Sie daran: der Einfachheit halber verwende ich hier keine URL-Zuordnung)

/index.php
<?
/**
* MVC演示demo
* 仅仅实现最基本的MVC功能,不包含安全处理,数据过滤,及其他优化措施。
*/
define(‘SITE_PATH’,str_replace(‘‘,’/’,dirname(FILE)));//定义系统目录
controller=(!empty(controller=(!empty(_GET[‘controller’]))?GET[‘controller′]:‘index′;
//获取控制器,默认indexGET[‘controller′]:‘index′;
//获取控制器,默认indexaction=(!empty(GET[‘action′]))?GET[‘action′]))?_GET[‘action’]:‘index’;
//方法名称,默认index
controllername=controllername=controller.‘Controller’;
controllerfile=SITEPATH.‘/app/controller/′.controllerfile=SITEPATH.‘/app/controller/′.controller_name.‘.class.php’;//获取控制器文件
if(file_exists(controller_file)){ 
require_once(controller_file)){ require_once(controller_file);
controller=newcontroller=newcontroller_name();
controller->{controller->{action.‘Action’}();
}else{
die(‘找不到对应的控制器!’);
}
?>
对应的一个演示demo
/app/controller/testController.class.php(注意路径)
<?
/**
* MVC演示demo
* 仅仅实现最基本的MVC功能,不包含安全处理,数据过滤,及其他优化措施。
*/
class testController
{
function testAction(){
echo ‘Hello,World!’;
}
}
?>
Nach dem Login kopieren

Öffnen Sie den Browser und geben Sie http://path/to ein /yoursite /index.php?controller=test&action=test (Achten Sie darauf, Ihren Pfad entsprechend zu ändern). Wenn Sie Hello, World! sehen, bedeutet dies, dass der erste Schritt von MVC und der einzelne Einstiegspunkt erfolgreich sind!

Das obige ist der detaillierte Inhalt vonEinfache Implementierung von PHP MVC. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage