ホームページ >バックエンド開発 >PHPチュートリアル >symfony ルーティングコンポーネント (ルーティングコンポーネント)

symfony ルーティングコンポーネント (ルーティングコンポーネント)

WBOY
WBOYオリジナル
2016-08-08 09:19:491516ブラウズ

ルーティング コンポーネントは、HTTP リクエストを一連の設定パラメータに変換します。

インストール

このコンポーネントをインストールするには 2 つの方法があります:

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

次に、Composer は、vendor/autoload.php ファイルを自動ロードに提供する必要があります。機構も そうしないと、アプリケーションはこのコンポーネントを見つけることができません。

使用法

基本的なルーティング システムを設定するには、次の 3 つの部分が必要です。

  • RouteCollection、ルートの定義 (Route クラスのインスタンス)
  • RequestContext、リクエストに関する情報
  • UrlMatcher。 、リクエストを単一のルートに照合します (つまり、どのルートを使用する必要があるかを決定します)

これは簡単な例です。ここで、オートローダーがこのコンポーネントをロードしていることを確認する必要があります:

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

$_SERVER[‘REQUEST_URI’] を使用する場合、URL には任意のパラメーターを含めることができることに注意してください。簡単な解決策は、以下で説明する HttpFoundation コンポーネントを使用することです。

続く

元リンク:
http://symfony.com/doc/current/components/routing/introduction.html

上記では symfony ルーティング コンポーネント (ルーティング コンポーネント) をその側面も含めて紹介しましたが、PHP チュートリアルに興味のある友人に役立つことを願っています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。