如何让Symfony 2缓存动态创建路由?

时间:2012-11-23 20:13:38

标签: symfony

在另一个问题中,我问过如何在SF2中动态生成路由(因为我想在路由上强制添加前缀),并且它工作正常:

How to add custom routes to Symfony 2 before container compilation?

问题是这些路由没有缓存,这可能对性能不太好。我想知道我在这里做错了什么,如果没有,或许有办法让SF2缓存我的路线?

1 个答案:

答案 0 :(得分:0)

我在这里听过这个教程似乎对我有用:

http://forum.symfony-project.org/viewtopic.php?t=38793&p=127825

引用:

装载机:

namespace MyName\MyBundle;

use Symfony\Component\Config\Loader\Loader;
use Symfony\Component\Routing\RouteCollection;
use Symfony\Component\Routing\Route;

class MyRouteLoader extends Loader 
{
    public function supports($resource, $type=null) 
    {
        return 'my_new_resource_type' === $type;
    }

    public function load($resource, $type=null) 
    {
        $collection = new RouteCollection();
        $collection->addRoute(new Route(...));
        return $collection;
    }
}

服务:

services:
    my_route_loader:
        class: MyName\MyBundle\MyRouteLoader
        tags:
            - {name: routing.loader}