In thinkphp bezieht sich Routing auf die Zuordnung, die dem entsprechenden Handler gemäß der URL zugewiesen ist. Seine Funktion besteht darin, die URL-Zugriffsadresse zu vereinfachen und eine korrekte Analyse gemäß dem definierten Routing-Typ durchzuführen. Einfach ausgedrückt ist Routing das Parsen eines Pfads, der die Anforderung an das entsprechende Modul, den entsprechenden Controller oder die entsprechende Methode analysiert.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, Thinkphp v5.1-Version, Dell G3-Computer.
Lassen Sie uns den Routing-Mechanismus von ThinkPHP5 untersuchen.
Obwohl das komplette Entwicklungshandbuch von TP5 sehr klar über das Routing spricht, untersuchen wir in diesem Artikel dennoch, worum es beim Routing von TP5 geht. Schließlich ist das Lesen eines Blogs komfortabler als das Lesen eines Buches.
Stellen Sie zunächst drei Fragen:
1. Was ist Route?
Route bezieht sich auf die Zuordnung, die dem entsprechenden Handler basierend auf der URL zugewiesen ist.
Einfach ausgedrückt handelt es sich um eine Pfadanalyse. Entsprechend dem vom Client übermittelten Pfad wird die Anforderung an das entsprechende Modul/den entsprechenden Controller/die entsprechende Methode analysiert.
Das offizielle Dokument ist wie folgt definiert => Die Rolle des Routings besteht darin, URL-Zugriffsadressen zu vereinfachen und eine korrekte Analyse basierend auf dem definierten Routing-Typ durchzuführen.
Manuelle Erklärung: Wenn wir normalerweise gemäß unseren Gewohnheiten auf unser ThinkPHP-Projekt zugreifen, sollte die reguläre URL so geschrieben werden (lokales Beispiel): http://localhost/project name/public/index.php /Module name /Controllername/Methodenname
Nachdem ich eine Zeichenfolge von URLs eingegeben habe, werde ich sehr verzweifelt sein (flüstern) => „Ich möchte nur eine kleine Schnittstelle testen, die es mir ermöglicht, eine so lange Zeichenfolge von Adressen einzugeben.“ Die Adresse ist zu lang und ich kann mich nicht daran erinnern ...“ Zu diesem Zeitpunkt können wir Routing verwenden, um seine Adresse zu vereinfachen und einige Regeln zu definieren und gleichzeitig die Adresse zu kürzen.
2. Warum Routing verwenden?
Manche Leute platzen vielleicht heraus: Um den Weg zu vereinfachen. Natürlich ist das einer der Gründe, aber der Grund ist nicht so einfach.
Die Vereinfachung des Weges ist ein wichtiger Grund, denn ich dachte zunächst, der Weg sei zu lang und lief über die Route, um später abzubiegen, aber später stellte ich fest, dass die Rolle der Route nicht eingeschränkt ist den Weg zu vereinfachen.
Wir können die erzwungene Verwendung von Routen aktivieren, sodass jeder nur über die von mir definierten Routen eintreten kann. Dies hat einen Vorteil, wenn Sie in einigen Controllern einige Skripte schreiben, auf die Benutzer nicht zugreifen sollen. Sie können die vollständige Routendurchsetzung aktivieren. Wenn Benutzer auf diese Skripts zugreifen und die Skripts die Datenbank ändern, ist dies sonst gefährlicher.
Außerdem können wir definieren, ob der Eintrag aus diesem Pfad eine Get-Operation oder eine Post-Operation ist, sodass es nicht wie zuvor zu einer Controller-Methode kommen kann, die sehr chaotisch ist. Natürlich werden einige Leute sagen, dass es keine große Sache ist, wenn sowohl auf get als auch auf post zugegriffen werden kann. Tatsächlich ist die Unterscheidung dieser Methoden hilfreicher, um die Idee der Restful API zu verkörpern.
Ebenso werde ich nicht über die Vorschriften von http und https sprechen.
Finden Sie, dass Routing ein bisschen magisch ist, da wir hier sind? Es stellt sich heraus, dass es so viele Dinge kann. Schauen wir uns also an, wie man es nutzt.
Route Nutzung
Lassen Sie uns zunächst die Konfigurationsinformationen verstehen. Achtung: Im ersten roten Kästchen schaltet tp den Routing-Modus standardmäßig für uns ein. Im zweiten roten Kästchen deaktiviert tp die erzwungene Verwendung des Routings standardmäßig. Auch jetzt kann ich über unseren üblichen Adressmodus erfolgreich zugreifen, und auch der Zugriff über Routing kann erfolgreich sein.
Wenn ich normalerweise an Projekten arbeite, ändere ich dies aus Sicherheitsgründen in „true“, also werfen wir einen Blick auf den Effekt Adresse Der Zugriff kann erfolgreich sein, daher aktivieren wir jetzt die erzwungene Verwendung des Routings: Die gleiche Adresse hat einen Fehler gemeldet und der Fehler „Route nicht gefunden“ wurde ausgegeben. Da wir diese Route nicht in der Routing-Datei definiert haben, wurde ein Fehler ausgegeben, der darauf hinweist, dass wir nun gezwungen sind, die Route zu verwenden. Lassen Sie es uns jetzt definieren. Beginnen Sie zunächst mit dem Einfachsten: Suchen Sie die Routendatei. Zuerst müssen wir die unten stehende Routing-Klasse vorstellen und darüber nachdenken Wir nennen es die statische Get-Methode. Anhand des Methodennamens können wir leicht erkennen, dass über die Get-Methode darauf zugegriffen wird. Was stellen also der erste und der zweite Parameter dar? Der zweite Parameter stellt das Modul/den Controller in der regulären URL/Methode dar? Der erste Parameter stellt den Namen dar, den Sie verwenden möchten, um das folgende Modul/den folgenden Controller/die folgende Methode zu ersetzen. Mit anderen Worten, ich habe ursprünglich http://localhost/xx/public/index.php/xx/test/xx verwendet, um auf meine Controller-Methode zuzugreifen, aber jetzt benötige ich nur noch http://localhost/xx/public/index .php/xx kann auf meine Controller-Methoden zugreifen. Sehen Sie sich den Effekt an: Route-Zugriff erfolgreich verwendet. Schauen wir uns dann die Formulierung dieser Regel genauer an (z. B. den Unterschied zwischen Get- und Post-Zugriff). Ich ändere jetzt den Get Methode zur Post-Methode Dann verwende ich die get-Methode, um darauf zuzugreifen und zu sehen, was passiert: Sie können sehen, dass wir nicht darauf zugreifen können, wenn wir nur get verwenden Kannst du darauf zugreifen? Wie wäre es mit: Spürst du den Spaß am Routing? Detaillierter können wir die Route auch so definieren: Der dritte Parameter stellt die Zugriffsmethode dar. Die Form, die ich hier definiert habe, ist, dass sowohl Get- als auch Post-Operationen darauf zugreifen können. Der letzte Parameter stellt dar, ob Um das https-Protokoll zu überprüfen, wird es nicht überprüft. Wenn es wahr ist, können wir unsere Schnittstelle weiter schützen. Was den Effekt betrifft, werde ich ihn nicht demonstrieren. Was ist sonst noch das Besondere am Routing? Das Routing kann sogar die von der Get-Operation übergebenen Parameter mit der URL zusammenführen. Unsere ursprüngliche Get-Operation sollte so aussehen: URL? id=1. Nach dem Routing können wir es als url/1 definieren. Auf diese Weise ist sogar der ID-Parameter ausgeblendet. Was den Prozess betrifft, gehen Sie einfach zum Entwicklungshandbuch und suchen Sie danach. Natürlich verfügt das Routing auch über einige andere Hilfsfunktionen, z. B. Abschlussfunktionen usw. Ich werde sie nicht einzeln vorstellen, da diese Hilfsfunktionen im Entwicklungsprozess nicht sehr häufig verwendet werden kann es im vollständigen Entwicklungshandbuch nachlesen. Die relevante Einführung in das Routing und die Vorteile der Verwendung von Routing werden hier vorgestellt. 【Verwandte Tutorial-Empfehlung: Thinkphp Framework】Mehr
Das obige ist der detaillierte Inhalt vonWas ist Thinkphp-Routing?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

In dem Artikel wird das integrierte Test-Framework von ThinkPhP erläutert, wobei die wichtigsten Funktionen wie Einheit und Integrationstests hervorgehoben werden und wie die Anwendungszuverlässigkeit durch frühzeitige Fehlererkennung und verbesserte Codequalität verbessert wird.

In Artikel wird ThinkPhp für Echtzeit-Aktienmarktdaten-Feeds mit dem Schwerpunkt auf Setup, Datengenauigkeit, Optimierung und Sicherheitsmaßnahmen erörtert.

In dem Artikel werden wichtige Überlegungen zur Verwendung von ThinkPhp in serverlosen Architekturen erörtert, wobei der Schwerpunkt auf Leistungsoptimierung, staatslosem Design und Sicherheit liegt. Es unterstreicht Vorteile wie Kosteneffizienz und Skalierbarkeit, befasst sich aber auch mit Herausforderungen

In dem Artikel wird die Implementierung der Service -Erkennung und des Lastausgleichs in ThinkPhp Microservices erläutert und sich auf Setup, Best Practices, Integrationsmethoden und empfohlene Tools konzentrieren. [159 Zeichen]

IOC -Container von ThinkPhp bietet erweiterte Funktionen wie fauler Laden, Kontextbindung und Methodeninjektion für eine effiziente Abhängigkeitsführung in PHP -Apps.character Count: 159

In dem Artikel wird die Verwendung von ThinkPhp zum Aufbau von Tools in Echtzeitkollaboration erläutert und sich auf Setup, WebSocket-Integration und Best Practices für Sicherheitsförderungen konzentriert.

ThinkPhp profitiert SaaS -Apps mit leichten Design, MVC -Architektur und Erweiterbarkeit. Es verbessert die Skalierbarkeit, beschleunigt die Entwicklung und verbessert die Sicherheit durch verschiedene Merkmale.

Der Artikel beschreibt das Erstellen eines verteilten Task -Warteschlangensystems mit ThinkPhp und RabbitMQ, wobei sich die Installation, Konfiguration, Aufgabenverwaltung und Skalierbarkeit konzentriert. Zu den wichtigsten Problemen gehören die Gewährleistung einer hohen Verfügbarkeit, die Vermeidung häufiger Fallstricke wie Unmensch


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

mPDF
mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),

SublimeText3 Linux neue Version
SublimeText3 Linux neueste Version

MantisBT
Mantis ist ein einfach zu implementierendes webbasiertes Tool zur Fehlerverfolgung, das die Fehlerverfolgung von Produkten unterstützen soll. Es erfordert PHP, MySQL und einen Webserver. Schauen Sie sich unsere Demo- und Hosting-Services an.

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Sicherer Prüfungsbrowser
Safe Exam Browser ist eine sichere Browserumgebung für die sichere Teilnahme an Online-Prüfungen. Diese Software verwandelt jeden Computer in einen sicheren Arbeitsplatz. Es kontrolliert den Zugriff auf alle Dienstprogramme und verhindert, dass Schüler nicht autorisierte Ressourcen nutzen.