The Routing component 把HTTP request转换为一系列的配置参数.
安装
你有两种方式来安装这个组件:
<code>通过 Composer (symfony/routing on Packagist); 使用官方的 Git repository (https://github.com/symfony/Routing)。 </code>
然后, 需要Composer把vendor/autoload.php 这个文件提供 给 autoloading mechanism 。 否则,你的应用程序将找不到这个组件。
用法
你需要下面三部分来设置基本的路由系统:
下面有个简单的例子。这里你需要确定你的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教程有兴趣的朋友有所帮助。