Heim  >  Artikel  >  Backend-Entwicklung  >  So lernen Sie das MVC-Framework in PHP

So lernen Sie das MVC-Framework in PHP

*文
*文Original
2017-12-29 18:03:472315Durchsuche

Wenn es um die PHP-Webentwicklung geht, ist sie natürlich untrennbar mit dem Entwicklungsframework verbunden. Das Entwicklungsframework bietet uns flexible Entwicklungsmethoden, MVC-Schichtentrennung, Geschäftsentkopplung usw. In diesem Artikel werden hauptsächlich die relevanten Informationen zum Erlernen des MVC-Framework-Routings in PHP vorgestellt. Freunde, die es benötigen, können darauf zurückgreifen. Ich hoffe, es hilft allen.

Der erste Artikel ist einfacher und befasst sich mit der Routing-Funktion des MVC-Frameworks. . .

Allgemeines Single-Entry-Framework-Routing hat diese Struktur:

domain/index.php/classname/functionname/var1/var2

Die index.php wird hier als Eintrag bezeichnet Datei. . . Für den Server greifen Sie hier nur auf den nach index.php aufgerufenen Controller und die darin enthaltenen Methoden zu. Auch die Werteübergabe wird innerhalb des Frameworks auf Basis der PHP-Ebene implementiert.

Reden ist günstig, zeigen Sie den Code!!

Erstellen Sie zunächst die folgende Dateistruktur

Lass es uns ausprobieren, wie wäre es Um auf die Dateien in Controllern zuzugreifen. . .

Geben Sie den folgenden Inhalt in index.php ein

print_r($_SERVER);

Besuchen Sie dann die folgende Adresse, um es auszuprobieren.

yourdomain/index.php/class/function/var1

Der Autor hier verwendet die lokale Umgebung und die Adresse, die ich besuche, ist localhost/MVC/index.php/class/function/var1

Ich habe die beiden wichtigsten Variablen gepostet

[REQUEST_URI] => /MVC/index.php/class/function/var1
[SCRIPT_NAME] => ; MVC/index.php

Tatsächlich ist das grundlegendste Prinzip des Routings hier:

Verwenden Sie diese beiden Variablen, um die Klasse, Funktion, Parameter usw. in der URL-Adresse zu extrahieren Dann kommt die Klasse include, ruft die entsprechende Funktion auf und übergibt die entsprechenden Parameter über die PHP-Rückruffunktion call_user_func_array.

Als nächstes folgt der Code. Das Lesen des Codes sollte einfacher zu verstehen sein als das, was ich geschrieben habe. Haha~~

index.php-Inhalt ist wie folgt:

<?php 
# 定义application路径 
define(‘APPPATH&#39;, trim(__DIR__,&#39;/&#39;)); 
# 获得请求地址 
$root = $_SERVER[&#39;SCRIPT_NAME&#39;]; 
$request = $_SERVER[&#39;REQUEST_URI&#39;]; 
$URI = array(); 
# 获得index.php 后面的地址 
$url = trim(str_replace($root, ”, $request), ‘/&#39;); 
# 如果为空,则是访问根地址 
if (empty($url)) 
{ 
# 默认控制器和默认方法 
$class = ‘index&#39;; 
$func = ‘welcome&#39;; 
} 
else 
{ 
$URI = explode(‘/&#39;, $url); 
# 如果function为空 则默认访问index 
if (count($URI) < 2) 
{ 
$class = $URI[0]; 
$func = ‘index&#39;; 
} 
else 
{ 
$class = $URI[0]; 
$func = $URI[1]; 
} 
} 
# 把class加载进来 
include(APPPATH . ‘/&#39; . ‘application/controllers/&#39; . $class . ‘.php&#39;); 
#实例化 
$obj = new ucfirst($class); 
call_user_func_array( 
# 调用内部function 
array($obj,$func), 
# 传递参数 
array_slice($URI, 2) 
);

Fügen Sie die folgenden 2 Dateien in application/controllers hinzu

index.php wird als Standard-Controller verwendet


<?php 
class Index 
{ 
function welcome() 
{ 
echo ‘I am default controller&#39;; 
} 
} 
?> 
hello.php
<?php 
class Hello 
{ 
public function index() 
{ 
echo ‘hello world&#39;; 
} 
public function name($name) 
{ 
echo ‘hello ‘ . $name; 
} 
} 
?>

Testen Sie es und prüfen Sie, ob Sie darauf zugreifen können. Gemäß der oben genannten Routing-Struktur. Versuchen wir es

Dieser Zugriff ist normal, die Namensmethode innerhalb der Hallo-Klasse wird korrekt aufgerufen und dann wird der Parameter barbery übergeben. . .

Versuchen Sie es erneut, ohne den Funktionsnamen einzugeben, um zu sehen, ob Sie den Index standardmäßig aufrufen können. .

Die Antwort ist auch ja. . .

Zuletzt besuchen Sie die Stammadresse, um zu sehen, ob

auch korrekt dem Standardcontroller zugeordnet ist. . .

ok, eine einfache MVC-Routing-Funktion ist abgeschlossen. . .

Verwandte Empfehlungen:

PHP MVC Framework-Kernklasse

Hinweise zum Schreiben Ihres eigenen PHP-MVC-Frameworks

Analyse der Implementierung des PHP-MVC-Musters in der Website-Architektur_PHP-Tutorial

Das obige ist der detaillierte Inhalt vonSo lernen Sie das MVC-Framework in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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