Was ist das Prinzip von MVC in PHP? Einführung in das MVC-Implementierungsprinzip von PHP (mit Code)

不言
Freigeben: 2023-04-03 12:16:01
Original
2799 Leute haben es durchsucht

Einige Teile von MVC in PHP sind beispielsweise leicht zu verstehen. M ist das Modell, das die spezifische Geschäftslogik vervollständigt. V ist die Ansicht, die für die Anzeige von Informationen verantwortlich ist Verantwortlich für die Ausgabe von Befehlen und die Ausführung von Methoden. Bestimmen Sie, welche Methode zur Verarbeitung verwendet werden soll, und wie erfolgt die Implementierung des MVC-Prinzips in PHP? Lassen Sie uns Code verwenden, um das MVC-Prinzip eingehend zu verstehen.

1. Dateistruktur
Erstellen Sie 3 Ordner
Controller-Ordner zum Speichern von Controller-Dateien
Ansichtsordner zum Speichern von Ansichtsdateien
Modellordner zum Speichern von Datendateien
Erstellen Sie 1 index.php als einzigen Eingang
2. Controller
Wir erstellen eine democontroller.php-Datei im Controller-Ordner, der Dateiinhalt ist wie folgt

<?php 
class DemoController 
{ 
function index() 
{ 
echo(&#39;hello world&#39;); 
} 
} 
/* End of file democontroller.php */
Nach dem Login kopieren

In dieser Datei haben wir gerade ein Objekt namens DemoController erstellt und enthalten eine Indexmethode, die „Hallo Welt“ ausgibt. Führen Sie als Nächstes die Indexmethode im DemoController in index.php aus.
Der Code von index.php lautet wie folgt:

<?php 
require(&#39;controller/democontroller.php&#39;); 
$controller=new DemoController(); 
$controller->index(); 
/* End of file index.php */
Nach dem Login kopieren

Führen Sie index.php aus, ok, wie erwartet haben wir unser lange verlorenes Hallo gesehen Welt. Diese beiden Dateien sind sehr einfach, verraten aber auch ein wenig von der Essenz von MVC, indem wir den Controller, den wir ausführen möchten, über den einzigen Eingang ausführen. Natürlich sollte der Controller-Teil durch die URI bestimmt werden, also schreiben wir index.php neu, damit es bestimmen kann, welcher Controller über die URI ausgeführt werden soll.
Schreiben Sie den Code für index.php wie folgt um:

<?php 
$c_str=$_GET[&#39;c&#39;]; 
//获取要运行的controller $c_name=$c_str.&#39;Controller&#39;; 
//按照约定url中获取的controller名字不包含Controller,此处补齐。 $c_path=&#39;controller/&#39;.$c_name.&#39;.php&#39;; 
//按照约定controller文件要建立在controller文件夹下,类名要与文件名相同,且文件名要全部小写。 $method=$_GET[&#39;a&#39;]; 
//获取要运行的action require($c_path); 
//加载controller文件 $controller=new $c_name; 
//实例化controller文件 $controller->$method(); 
//运行该实例下的action /* End of file index.php */
Nach dem Login kopieren

Geben Sie http://localhost/index.php?c=demo&a=index in den Browser ein und erhalten Sie unsere Hallo-Welt. Wenn wir einen anderen Controller haben und ihn ausführen möchten, müssen wir natürlich nur die Werte von c und a in den URL-Parametern ändern.
Hier gibt es mehrere Probleme zu erklären.
1. PHP ist eine dynamische Sprache, um das gewünschte Objekt direkt abzurufen und die gewünschte Methode auszuführen, d. h. die neue oben $c_name, wir können es als neu verstehen „DemoController“, da der Wert von $c_name selbst „DemoController“ ist, ist natürlich direkt neu Das Schreiben von „DemoController“ auf diese Weise ist nicht möglich. Der String „DemoController“ muss über eine Variable übergeben werden. Die Methode ist dieselbe.
2. Der Wert von c in unserer URL ist demo, was $c_name bedeutet Der Wert sollte demoController sein. Ist die Groß-/Kleinschreibung nicht beachtet? Kann es trotzdem so ausgeführt werden? Der Satz „PHP unterscheidet zwischen Groß- und Kleinschreibung“ ist unvollständig. In PHP wird die Groß-/Kleinschreibung nur bei Variablen (mit vorangestelltem $) und Konstanten (definiert durch „define“) berücksichtigt, während bei Klassennamen, Methodennamen und sogar einigen Schlüsselwörtern die Groß-/Kleinschreibung nicht beachtet wird. Geschrieben. Und wahr, falsch, null usw. können nur aus Groß- oder Kleinbuchstaben bestehen. Natürlich sollten wir beim eigentlichen Kodierungsprozess besser auf die Groß-/Kleinschreibung achten.
3. Ansicht
Wir haben im vorherigen Controller nur eine „Hallo Welt“ ausgegeben, die den Effekt von mvc nicht erreicht hat Ich glaube, dass es so sein wird Hier kann sich im Grunde jeder vorstellen, wie man die Ansichtsfunktion hinzufügt. Ja, es wird erreicht, indem das Böse gefordert oder einbezogen wird.
Zuerst erstellen wir eine index.php unter dem Ansichtsordner und schreiben alles (haha, ich habe immer noch Hallo Welt geschrieben). Dann schreiben wir unseren vorherigen DemoController neu. Der Code lautet wie folgt:

<?php 
class DemoController 
{ 
function index() 
{ 
require(&#39;view/index.php&#39;); 
} 
} 
/* End of file democontroller.php */
Nach dem Login kopieren

Führen Sie ihn im Browser aus, um zu sehen, ob der gewünschte Inhalt ausgegeben wurde.
Dann übergeben wir einige Daten über den Controller an die Ansicht. Der Code lautet wie folgt:

<?php 
class DemoController 
{ 
function index() 
{ 
$data[&#39;title&#39;]=&#39;First Title&#39;; 
$data[&#39;list&#39;]=array(&#39;A&#39;,&#39;B&#39;,&#39;C&#39;,&#39;D&#39;); 
require(&#39;view/index.php&#39;); 
} 
} 
/* End of file democontroller.php */
Nach dem Login kopieren

Der Code der Datei index.php im Ansichtsordner lautet wie folgt:

<html> 
<head> 
<title>demo</title> 
</head> 
<body> 
<h1><?php echo $data[&#39;title&#39;];?></h1> 
<?php 
foreach ($data[&#39;list&#39;] as $item) 
{ 
echo $item.&#39;<br>&#39;; 
} 
?> 
</body> 
</html>
Nach dem Login kopieren

Verwandte Empfehlung:

Dugu Jiujian (8)_php entwickelt Ihr eigenes PHP-Framework von Grund auf

Das obige ist der detaillierte Inhalt vonWas ist das Prinzip von MVC in PHP? Einführung in das MVC-Implementierungsprinzip von PHP (mit Code). 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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!