Heim  >  Artikel  >  Backend-Entwicklung  >  Symfony-Routing-Komponente (Die Routing-Komponente)

Symfony-Routing-Komponente (Die Routing-Komponente)

WBOY
WBOYOriginal
2016-08-08 09:19:491504Durchsuche

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>

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> => <span>'MyController'</span>));
<span>$routes</span> = <span>new</span> RouteCollection();
<span>$routes</span>->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>->match(<span>'/foo'</span>);
<span>// array('controller' => 'MyController', '_route' => 'route_name')</span></code>

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.

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
Vorheriger Artikel:RetHat65 Nginx-InstallationNächster Artikel:RetHat65 Nginx-Installation