Requestクラスの基本 (5/5)
作成:2016-01-31 11:37
更新:2016-01-31 11:37
更新:2016-01-31 11:37
■リダイレクトについて
この他、すぐに役立つものとして「リダイレクト」についても触れておきましょう。リダイレクトは、他のアドレスにアクセスを変更するものです。一種の「アドレスの転送」ですね。これを使うことで、別のコントローラーの別のアクションが呼び出されるように設定できるわけですね。
これには「redirect」というメソッドです。これは文字通り、リダイレクトを行うためのメソッドで、こんな具合に使います。
見ればわかるように、これはRequestクラスのメソッドではありません。「Response」という、サーバーからユーザーへ送り返す際の処理を扱うためのクラスに用意されています。
redirectメソッドは、このように、アドレスを指定するだけで、そのアドレスにリダイレクトされます。例えば、"/helo"にリダイレクトするなら、そのままredirect("/helo")とすればいいわけです。
また、アドレスでなく、コントローラーとアクションを指定することでリダイレクト先を設定することもできます。これは、「action」というメソッドを併用します。
actionの引数には、コントローラーとアクションを「コントローラー@アクション」という形でテキストにまとめたものを指定します。これらは、それぞれコントローラーのクラス名と、アクションとなるメソッド名を使います。例えば、
このようにすれば、HeloControllerのgetIndexにリダイレクトされる(つまり、"/helo/index"にリダイレクト)ようになります。
Responseには、この他にも様々な機能が用意されています。ビューを設定したり、クッキーを追加したり、JSON型式のデータを設定したり、ヘッダー情報を追加したり、等々です。とりあえず、ここではすぐに覚えておきたい事柄として「リダイレクトの方法」だけ頭に入れておきましょう。他のものについては、また別の機会に触れることにしましょう。
これには「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型式のデータを設定したり、ヘッダー情報を追加したり、等々です。とりあえず、ここではすぐに覚えておきたい事柄として「リダイレクトの方法」だけ頭に入れておきましょう。他のものについては、また別の機会に触れることにしましょう。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
※関連コンテンツ