使用注释文件中的数据库在symfony中创建动态路由

时间:2019-07-15 15:01:58

标签: php symfony4

我正在尝试为我的symfony应用程序创建一个动态路由器,其中基于某些条件,我想设置路由的前缀,基于条件的前缀正在工作,因为我使用的是静态编码条件,请参见虚拟路线,捆绑的主要symfony路线

(config / routes / annotation.php)

<?php use Symfony\Component\Routing\Loader\Configurator\RoutingConfigurator;
    return function (RoutingConfigurator $routes) {
    $resultRout = $routes->import('@MyCustomBundle/Controller/Test/', 'annotation')
    ->defaults(['_locale' => '%locale%'])
    ->requirements(['_locale' => '%app_locales%']);
    // get $validate value from database
    if ($validate) {
        $resultRout->prefix('/{_locale}/app/{default_path}/');
    } else {
        $resultRout->prefix('/{_locale}/site/{new_path}/');
    }
};

我面临的问题是:

1 :我需要针对不同的路由条件每次清除路由缓存。有没有办法停止路由缓存?

2 :我想访问数据库,以便可以根据数据库值创建$ validate。如何加载实体管理器?

如果还有更好的方法来实现这种类型的路由,请提出建议。

0 个答案:

没有答案