gpt4 book ai didi

silex - 是否可以在 Silex 应用程序中进行条件路由?

转载 作者:行者123 更新时间:2023-12-05 00:24:05 26 4
gpt4 key购买 nike

我正在编写一个 Web 应用程序,它有一个前置网站,然后是一个管理控制台。我希望能够有一个设置,当设置为 true 时,意味着在前端网站上显示一个保留或维护页面。

我的路由配置目前在一个 yaml 文件中,并在每个请求上读取。但是现在我希望它足够聪明以知道它是否处于维护模式以及是否将所有路由定向到一个特定页面。或者它可以更改路线,以便只有一条路线。

我认为这可以通过根据设置加载不同的文件来完成,但这意味着所有路由都是静态的,例如无法从数据库中检索。此外,我在请求的设置阶段从数据库读取时遇到了问题。我将系统配置为从数据库读取作为服务,但这在设置阶段似乎不可用,我弄错了吗?

感激地收到任何指点。

罗素

最佳答案

我经常使用 Silex 的维护页面:

在同一个地方,我定义了 $app['debug'] = true;我还定义了另一个变量 $app['maintenance'] = true;我用于各种检查。

其中我定义了一个维护页面如下:

$app->before(function (Request $request, Application $app) {
if($app['maintenance']){
$subRequest = Request::create('/maintenance', 'GET');
return $app->handle($subRequest, HttpKernelInterface::SUB_REQUEST);
}
});

$app->get('/maintenance', function () use ($app) {
// Here you can return your maintenance page
return $app->render('maintenance.twig');
});

然后当我打开维护变量时,每个请求都被重定向到维护路由。

如您所见,我没有在我的应用程序中使用任何 yaml 配置文件,但它们的想法是相同的。

关于silex - 是否可以在 Silex 应用程序中进行条件路由?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26999584/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com