Symfony-Routing-Komponente (Die Routing-Komponente)

WBOY
Freigeben: 2016-08-08 09:19:49
Original
1503 Leute haben es durchsucht

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> => <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>
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.

Verwandte Etiketten:
Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage