この他、すぐに役立つものとして「
リダイレクト」についても触れておきましょう。リダイレクトは、他のアドレスにアクセスを変更するものです。一種の「アドレスの転送」ですね。これを使うことで、別のコントローラーの別のアクションが呼び出されるように設定できるわけですね。
これには「
redirect」というメソッドです。これは文字通り、リダイレクトを行うためのメソッドで、こんな具合に使います。
$response->redirect( アドレス );
見ればわかるように、これは
Requestクラスのメソッドではありません。「
Response」という、サーバーからユーザーへ送り返す際の処理を扱うためのクラスに用意されています。
redirectメソッドは、このように、アドレスを指定するだけで、そのアドレスにリダイレクトされます。例えば、
"/helo"にリダイレクトするなら、そのまま
redirect("/helo")とすればいいわけです。
また、アドレスでなく、コントローラーとアクションを指定することでリダイレクト先を設定することもできます。これは、「
action」というメソッドを併用します。
$response->redirect()->action( コントローラー・アクションの指定 );
actionの引数には、コントローラーとアクションを「
コントローラー@アクション」という形でテキストにまとめたものを指定します。これらは、それぞれコントローラーのクラス名と、アクションとなるメソッド名を使います。例えば、
$response->redirect()->action('HeloController@getIndex');
このようにすれば、
HeloControllerの
getIndexにリダイレクトされる(つまり、
"/helo/index"にリダイレクト)ようになります。
Responseには、この他にも様々な機能が用意されています。ビューを設定したり、クッキーを追加したり、JSON型式のデータを設定したり、ヘッダー情報を追加したり、等々です。とりあえず、ここではすぐに覚えておきたい事柄として「リダイレクトの方法」だけ頭に入れておきましょう。他のものについては、また別の機会に触れることにしましょう。