suchen
HeimPHP-FrameworkDenken Sie an PHPWas ist Thinkphp-Routing?

Was ist Thinkphp-Routing?

Dec 27, 2021 am 11:49 AM
thinkphp路由

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.

Was ist Thinkphp-Routing?

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.

Mehr

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

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!

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
Was sind die Hauptmerkmale des integrierten Test-Frameworks von ThinkPhp?Was sind die Hauptmerkmale des integrierten Test-Frameworks von ThinkPhp?Mar 18, 2025 pm 05:01 PM

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.

Wie kann man ThinkPhp zum Aufbau von Echtzeit-Aktienmarktdaten-Feeds verwenden?Wie kann man ThinkPhp zum Aufbau von Echtzeit-Aktienmarktdaten-Feeds verwenden?Mar 18, 2025 pm 04:57 PM

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

Was sind die wichtigsten Überlegungen für die Verwendung von ThinkPhp in einer serverlosen Architektur?Was sind die wichtigsten Überlegungen für die Verwendung von ThinkPhp in einer serverlosen Architektur?Mar 18, 2025 pm 04:54 PM

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

So implementieren Sie Service -Erkennung und Lastausgleich in ThinkPhp -Microservices?So implementieren Sie Service -Erkennung und Lastausgleich in ThinkPhp -Microservices?Mar 18, 2025 pm 04:51 PM

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]

Was sind die erweiterten Merkmale des Abhängigkeitsinjektionsbehälters von ThinkPhp?Was sind die erweiterten Merkmale des Abhängigkeitsinjektionsbehälters von ThinkPhp?Mar 18, 2025 pm 04:50 PM

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

Wie kann man ThinkPhp zum Erstellen von Tools in Echtzeitkollaboration verwenden?Wie kann man ThinkPhp zum Erstellen von Tools in Echtzeitkollaboration verwenden?Mar 18, 2025 pm 04:49 PM

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.

Was sind die wichtigsten Vorteile der Verwendung von ThinkPhp zum Aufbau von SaaS -Anwendungen?Was sind die wichtigsten Vorteile der Verwendung von ThinkPhp zum Aufbau von SaaS -Anwendungen?Mar 18, 2025 pm 04:46 PM

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.

Wie erstelle ich ein verteiltes Task -Warteschlangensystem mit ThinkPhp und Rabbitmq?Wie erstelle ich ein verteiltes Task -Warteschlangensystem mit ThinkPhp und Rabbitmq?Mar 18, 2025 pm 04:45 PM

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

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

mPDF

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 neue Version

SublimeText3 Linux neueste Version

MantisBT

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

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Sicherer Prüfungsbrowser

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.