Heim Backend-Entwicklung PHP-Tutorial Symfony-Routing-Komponente (Die Routing-Komponente)

Symfony-Routing-Komponente (Die Routing-Komponente)

Aug 08, 2016 am 09:19 AM
component request route routing

Die Routing-Komponente wandelt die HTTP-Anfrage in eine Reihe von Konfigurationsparametern um.

Installation

Sie haben zwei Möglichkeiten, diese Komponente zu installieren:

<code>通过 Composer (symfony/routing on Packagist);
使用官方的 Git repository (https://github.com/symfony/Routing)。
</code>
Nach dem Login kopieren

Dann muss Composer die Datei „vendor/autoload.php“ für den Autoloading-Mechanismus bereitstellen. Andernfalls wird Ihre Anwendung diese Komponente nicht finden.

Verwendung

Sie benötigen die folgenden drei Teile, um ein grundlegendes Routing-System einzurichten:

  • RouteCollection, die Routendefinitionen (Instanzen der Klasse Route) enthält
  • RequestContext, Informationen zur Anfrage;
  • UrlMatcher, ordnet die Anfrage einer einzelnen Route zu (d. h. bestimmt, welche Route verwendet werden muss)

Hier ist ein einfaches Beispiel. Hier müssen Sie sicherstellen, dass Ihr Autoloader diese Komponente geladen hat:

<code><span>use</span><span>Symfony</span>\<span>Component</span>\<span>Routing</span>\<span>Matcher</span>\<span>UrlMatcher</span>;
<span>use</span><span>Symfony</span>\<span>Component</span>\<span>Routing</span>\<span>RequestContext</span>;
<span>use</span><span>Symfony</span>\<span>Component</span>\<span>Routing</span>\<span>RouteCollection</span>;
<span>use</span><span>Symfony</span>\<span>Component</span>\<span>Routing</span>\<span>Route</span>;

<span>$route</span> = <span>new</span> Route(<span>'/foo'</span>, <span>array</span>(<span>'controller'</span> =&gt; <span>'MyController'</span>));
<span>$routes</span> = <span>new</span> RouteCollection();
<span>$routes</span>-&gt;add(<span>'route_name'</span>, <span>$route</span>);

<span>$context</span> = <span>new</span> RequestContext(<span>$_SERVER</span>[<span>'REQUEST_URI'</span>]);

<span>$matcher</span> = <span>new</span> UrlMatcher(<span>$routes</span>, <span>$context</span>);

<span>$parameters</span> = <span>$matcher</span>-&gt;match(<span>'/foo'</span>);
<span>// array('controller' =&gt; 'MyController', '_route' =&gt; 'route_name')</span></code>
Nach dem Login kopieren

Es ist zu beachten, dass bei Verwendung von $_SERVER[‘REQUEST_URI’] beliebige Parameter in die URL aufgenommen werden können. Eine einfache Lösung ist die Verwendung der HttpFoundation-Komponente, die im Folgenden erläutert wird.

Fortsetzung folgt

Originallink:
http://symfony.com/doc/current/components/routing/introduction.html

Das Obige hat die Symfony-Routing-Komponente (The Routing Component) vorgestellt, einschließlich ihrer Aspekte. Ich hoffe, dass sie für Freunde, die sich für PHP-Tutorials interessieren, hilfreich sein wird.

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

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Was bedeutet PHP-Anfrage? Was bedeutet PHP-Anfrage? Jul 07, 2021 pm 01:49 PM

Was bedeutet PHP-Anfrage?

Was ist das Request-Objekt in PHP? Was ist das Request-Objekt in PHP? Feb 27, 2024 pm 09:06 PM

Was ist das Request-Objekt in PHP?

Wie vue3 die Tags defineAsyncComponent und Component verwendet, um dynamische Rendering-Komponenten zu implementieren Wie vue3 die Tags defineAsyncComponent und Component verwendet, um dynamische Rendering-Komponenten zu implementieren May 12, 2023 pm 05:55 PM

Wie vue3 die Tags defineAsyncComponent und Component verwendet, um dynamische Rendering-Komponenten zu implementieren

So verwenden Sie die Funktion urllib.request.urlopen() zum Senden einer GET-Anfrage in Python 3.x So verwenden Sie die Funktion urllib.request.urlopen() zum Senden einer GET-Anfrage in Python 3.x Jul 30, 2023 am 11:28 AM

So verwenden Sie die Funktion urllib.request.urlopen() zum Senden einer GET-Anfrage in Python 3.x

Interviewer: Der Unterschied zwischen @Configuration und @Component Interviewer: Der Unterschied zwischen @Configuration und @Component Aug 15, 2023 pm 04:29 PM

Interviewer: Der Unterschied zwischen @Configuration und @Component

Die Rolle und Bedeutung von Request in PHP Die Rolle und Bedeutung von Request in PHP Feb 27, 2024 pm 12:54 PM

Die Rolle und Bedeutung von Request in PHP

Tipps zur Verwendung von Mixin, Extend, Component und anderen APIs zur Implementierung der Komponentenanpassung in Vue Tipps zur Verwendung von Mixin, Extend, Component und anderen APIs zur Implementierung der Komponentenanpassung in Vue Jun 25, 2023 pm 03:28 PM

Tipps zur Verwendung von Mixin, Extend, Component und anderen APIs zur Implementierung der Komponentenanpassung in Vue

So kapseln Sie den Vue3 Axios-Interceptor in eine Anforderungsdatei So kapseln Sie den Vue3 Axios-Interceptor in eine Anforderungsdatei May 19, 2023 am 11:49 AM

So kapseln Sie den Vue3 Axios-Interceptor in eine Anforderungsdatei

See all articles