Slim 中 $app->Redirect 和 $app->response->redirect 的区别
Difference between $app->Redirect and $app->response->redirect in Slim
这个问题有点模棱两可,很抱歉。
基本上,我正在编写一个使用 Slim 作为框架的网站,但我注意到有两种不同(但常见)的重定向方式。使用 $app->redirect()
和 $app->response->redirect();
根据我在文档中看到的内容,除了 $app->redirect()
会抛出异常(Slim 会捕获),或者在什么地方使用哪个之外,没有什么可以表明两者之间的区别。并且对该主题的研究仅显示 $app->response->redirect()
应该在 MiddleWare 中使用,但没有其他信息。所以我的问题是你应该在何时何地使用 $app->response->redirect();
而不是 $app->redirect()
,反之亦然。
$app->redirect()
只是一个辅助函数。它将您的呼叫委托给 $app->response->redirect()
.
参见 Github 上的代码:
//Slim.php
public function redirect($url, $status = 302)
{
$this->response->redirect($url, $status);
$this->halt($status);
}
这个问题有点模棱两可,很抱歉。
基本上,我正在编写一个使用 Slim 作为框架的网站,但我注意到有两种不同(但常见)的重定向方式。使用 $app->redirect()
和 $app->response->redirect();
根据我在文档中看到的内容,除了 $app->redirect()
会抛出异常(Slim 会捕获),或者在什么地方使用哪个之外,没有什么可以表明两者之间的区别。并且对该主题的研究仅显示 $app->response->redirect()
应该在 MiddleWare 中使用,但没有其他信息。所以我的问题是你应该在何时何地使用 $app->response->redirect();
而不是 $app->redirect()
,反之亦然。
$app->redirect()
只是一个辅助函数。它将您的呼叫委托给 $app->response->redirect()
.
参见 Github 上的代码:
//Slim.php
public function redirect($url, $status = 302)
{
$this->response->redirect($url, $status);
$this->halt($status);
}