The Routing component 把HTTP request轉換為一系列的配置參數.
安裝
你有兩種方式來安裝這個組件:通過 Composer (symfony/routing on Packagist);
使用官方的 Git repository (https://github.com/symfony/Routing)。
然后, 需要Composer把vendor/autoload.php 這個文件提供 給 autoloading mechanism 。 否則,你的應用程序將找不到這個組件。
用法
你需要下面三部分來設置基本的路由系統:RouteCollection, 包含路由的定義(instances of the class Route)
RequestContext, 有關request的信息;
UrlMatcher, 把request匹配成單一的route(即確定需要使用那個route)
下面有個簡單的例子。這里你需要確定你的autoloader 已經加載了這個組件:useSymfony\Component\Routing\Matcher\UrlMatcher;
useSymfony\Component\Routing\RequestContext;
useSymfony\Component\Routing\RouteCollection;
useSymfony\Component\Routing\Route;
$route = new Route('/foo', array('controller' => 'MyController'));
$routes = new RouteCollection();
$routes->add('route_name', $route);
$context = new RequestContext($_SERVER['REQUEST_URI']);
$matcher = new UrlMatcher($routes, $context);
$parameters = $matcher->match('/foo');
// array('controller' => 'MyController', '_route' => 'route_name')
需要注意的是當使用$_SERVER[‘REQUEST_URI’]時,在URL上面可以包含任何參數。一個簡單的解決辦法就是使用HttpFoundation component 這個組件,下文將會解釋這個組件。
未完待續
原文鏈接:
http://symfony.com/doc/current/components/routing/introduction.html
以上就介紹了symfony路由組件(The Routing Component),包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。