Php 来自私有方法的Laravel重定向

Php 来自私有方法的Laravel重定向,php,laravel,laravel-4,Php,Laravel,Laravel 4,我有一个控制器,它有一个方法。方法中的代码太长,所以我将一些代码放在其他私有方法中,这样方法就可以理解,而不会弄乱它 现在,当我从URL访问public方法时,它将根据参数调用特定的私有方法来处理作业。处理作业后,我想重定向到URL,但重定向不起作用 我的代码示例如下: class SomeClass extends BaseController{ public function getMethodName() { //check the para

我有一个控制器,它有一个方法。方法中的代码太长,所以我将一些代码放在其他私有方法中,这样方法就可以理解,而不会弄乱它

现在,当我从URL访问public方法时,它将根据参数调用特定的私有方法来处理作业。处理作业后,我想重定向到URL,但重定向不起作用

我的代码示例如下:

class SomeClass extends BaseController{
    public function getMethodName()
        {
            //check the params and choose a private method to call
            $this->processJob();
        }
    private function processJob()
    {
         //process the job and redirect at the end
         return Redirect::to('some/url');
    }
}
问题是,上述重定向不起作用。为什么呢?在Codeigniter中,当您使用
重定向
时,无论从何处调用它都不起作用


如果上面的代码示例不是正确的方法,如果有人能告诉我如何做,我将不胜感激。谢谢。

根据您的私有函数结果,您可以尝试从您的公共函数重定向到另一个页面(我认为这是一个更好的解决方案,可以使您的代码更具可读性)。
但是它可以像您编写的那样工作…

您也必须从
$this->processJob()
返回返回

class SomeClass extends BaseController{
  public function getMethodName()
  {
      //check the params and choose a private method to call
      return $this->processJob();
  }

  private function processJob()
  {
     //process the job and redirect at the end
     return Redirect::to('some/url');
  }
}

它应该可以工作-我一直在使用那种类型的代码。你有什么错误吗?如果将重定向移动到processJob()的开头会发生什么?它不起作用。我删除了processJob()中的所有其他代码,只保留了重定向行,仍然不起作用。顺便问一下,我正在使用L4。您确定正在调用processJob吗?在processJob中尝试dd('hi')-是否看到'hi'?是否调用了processJob()。我试过退出(“你好”);它在浏览器中显示“hello”。return$this->processJob()如何?这样看:Laravel调用控制器函数并期望得到一些回报,因此它知道下一步要做什么。在代码中,返回Redirect::to('some/url')返回到调用私有函数的地方,但它没有到达Laravel。是的,听起来有点愚蠢,但基本上就是这样。