Mit der Weiterentwicklung von Webanwendungen wird auch die Art und Weise, wie Websites erstellt werden, ständig verbessert. In der Vergangenheit haben Entwickler eine Website häufig mit mehreren Dateien erstellt, von denen jede für die Bearbeitung unterschiedlicher Anfragen verantwortlich war. Dieser Ansatz kann jedoch zu unordentlichem Code führen, der schwer zu warten ist. Auf dieser Grundlage entstand die MVC-Architektur, die den Code in drei Teile unterteilt: Modell, Ansicht und Controller, wodurch der Code einfach zu organisieren und zu verwalten ist. Für einige kleine Anwendungen oder Anfänger ist die Verwendung der MVC-Architektur jedoch nicht erforderlich, und die Verwendung des MVC-Frameworks erhöht den Zugriff der Anwendung, was der Leistungsoptimierung nicht förderlich ist.
In diesem Artikel wird erläutert, wie Sie mit PHP einen einzelnen Eintrag implementieren, ohne das MVC-Framework zu verwenden.
Single Entry
Single Entry ist eine in Anwendungen verwendete Architektur. Die gesamte Anwendung verfügt nur über eine Eintragsdatei, und alle Anforderungen werden von dieser Datei verarbeitet. Der Vorteil dieser Architektur besteht darin, dass Anfragen einheitlich verwaltet und einfach gepflegt werden können. Gleichzeitig können auch Sicherheitsbeschränkungen für Anfragen implementiert werden, um illegale Zugriffe zu verhindern.
In PHP können wir die .htaccess-Datei verwenden, um alle Anfragen an die Datei index.php weiterzuleiten, um einen einzelnen Eintrag zu erreichen.
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php [L] </IfModule>
Der obige Code leitet die Anfrage an die Datei index.php weiter. Sie wird nur weitergeleitet, wenn die angeforderte Datei nicht existiert und das angeforderte Verzeichnis nicht existiert. ## Routing implementieren Im Einzeleingabemodus müssen wir die URL analysieren und sie dem entsprechenden Controller und der entsprechenden Aktion zuordnen. Dieser Vorgang wird Routing genannt. Wir können reguläre Ausdrücke verwenden, um die URL in zwei Parameter zu analysieren: Controller und Aktion.
$request = $_SERVER['REQUEST_URI']; if (preg_match('/index.php\/(?P<controller>[a-z]+)\/(?P<action>[a-z]+)/', $request, $matches)) { $controller = ucfirst($matches['controller']) . 'Controller'; $action = $matches['action'] . 'Action'; } else { $controller = 'IndexController'; $action = 'indexAction'; }
Der obige Code analysiert die URL in zwei Parameter, Controller und Action, und weist sie den Variablen $controller und $action zu. Wenn die URL nicht den Regeln entspricht, werden standardmäßig IndexController und indexAction verwendet.
Controller und Operations implementieren Der Controller ist der Kernbestandteil des Einzeleingabemodus und für den Empfang von Anforderungen und den Aufruf entsprechender Vorgänge verantwortlich. Gleichzeitig ist der Verantwortliche auch für die Datenverarbeitung und Ausgabe der Daten verantwortlich. Ein typischer Controller sieht so aus:
class IndexController { public function indexAction() { // 处理数据 $data = ['title' => 'Hello World']; // 输出视图 require_once 'index.view.php'; } }
Der obige Code definiert einen IndexController-Controller mit einer indexAction-Aktion. Die Daten werden in der Operation verarbeitet und zur Ausgabe an die Ansicht übergeben. ## Implementieren Sie die Ansicht Die Ansicht ist ein weiterer wichtiger Teil des Einzeleingabemodus. Sie ist für die Verarbeitung der vom Controller übergebenen Daten und die Darstellung der Daten für den Benutzer verantwortlich. Wir können HTML und CSS verwenden, um Ansichten zu erstellen. Eine einfache Ansicht sieht so aus:
<!DOCTYPE html> <html> <head> <title><?= $data['title'] ?></title> </head> <body> <h1><?= $data['title'] ?></h1> <p>Welcome to my website.</p> </body> </html>
Der obige Code verwendet PHP-Kurztags, um die vom Controller übergebenen Daten auszugeben.
Fazit In diesem Artikel haben wir vorgestellt, wie man mit PHP einen einzelnen Einstiegspunkt implementiert, ohne das MVC-Framework zu verwenden. Wir verwenden .htaccess-Dateien, um alle Anfragen an die Datei index.php weiterzuleiten, und leiten sie weiter, um die URLs zu analysieren und sie den entsprechenden Controllern und Aktionen zuzuordnen. Gleichzeitig haben wir auch die Implementierungsmethoden von Controllern und Ansichten eingeführt. Durch die Verwendung eines einzigen Einstiegspunkts kann der Code besser organisiert werden und die Wartbarkeit und Sicherheit des Codes verbessert werden.
Das obige ist der detaillierte Inhalt vonSo implementieren Sie einen einzelnen Einstiegspunkt mit PHP, ohne das MVC-Framework zu verwenden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!