首頁 > 後端開發 > php教程 > symfony路由組件(The Routing Component)

symfony路由組件(The Routing Component)

WBOY
發布: 2016-08-08 09:19:49
原創
1515 人瀏覽過

The Routing component 把HTTP request轉換為一系列的設定參數.

安裝

你有兩種方式來安裝這個元件:

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

然後, 需要Composer把vendor/autoload.php 這個檔案提供給。 否則,你的應用程式將找不到這個元件。

用法

你需要下面三部分來設定基本的路由系統:

  • RouteCollection, 包含路由的定義(instances of the class Route)
  • RequestContext, 有關request的資訊;單一的route(即確定需要使用那個route)
  • 下面有個簡單的例子。這裡你需要確定你的autoloader 已經載入了這個元件:
<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 component 這個元件,下文將會解釋這個元件。

未完待續

原文連結:

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


以上就介紹了symfony路由元件(The Routing Component),包含了方面的內容,希望對PHP教學有興趣的朋友有幫助。

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板