12

メソッドを持つコントローラーがあります。メソッド内のコードが長すぎるので、一部のコードを他のプライベート メソッドに配置して、メソッドが理解できるようにし、混乱を招かないようにしました。

これで、URL からパブリック メソッドにアクセスすると、パラメーターに応じて特定のプライベート メソッドが呼び出され、ジョブが処理されます。ジョブが処理された後、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 では、使用redirectすると、どこから呼び出されても機能します。

上記のコード サンプルが正しい方法ではない場合、誰かがその方法を教えていただければ幸いです。ありがとう。

4

2 に答える 2

21

からのリターンも返却する必要があり$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');
  }
}
于 2013-07-29T14:18:40.800 に答える