【发布时间】:2014-11-07 13:05:22
【问题描述】:
我想在 Laravel 的控制器中进行即时重定向。
我知道我可以使用
public function show($page)
{
return Redirect::url('http://example.com');
}
但我想在许多添加条件的控制器中重复此代码,例如我想做这样的事情:
public function show($page)
{
$totalPages = 100; // here calculating maximum page
if ($page < 2 || $page > $totalPages) {
return Redirect::url('http://example.com');
}
// rest of code here - should be run if condition is false
}
但我不想在每个控制器中重复代码。
如果我尝试将重定向代码放在其他方法中(可能存在于基本控制器中),它将无法正常工作,因为它不会在主控制器中返回任何内容:
public function show($page)
{
$totalPages = 100; // here calculating maximum page
$this->checkPages($page, $totalPages, 'http://example.com');
// rest of code here - should be run if condition is false
}
public function checkPages($page, $totalPages, $url)
{
if ($page < 2 || $page > $totalPages) {
return Redirect::url($url);
}
}
我该如何解决这个问题?
【问题讨论】:
标签: symfony redirect laravel laravel-4