Requestクラスの基本 (2/5)
作成:2016-01-31 11:32
更新:2016-01-31 11:32
更新:2016-01-31 11:32
■コントローラーの作成
では、コントローラーを修正しましょう。HelloController.phpを開いて、下のリスト欄のように修正を行って下さい。
修正したら、内臓サーバーを実行して、http://localhost:8000/helo にアクセスしてみてください。入力フィールドが1つだけ表示されるので、何か書いて送信してみましょう。するとフォームのすぐ上に、「you typed: ○○」というようにして、入力したテキストが表示されますよ。
ここでは、新たに「postIndex」というメソッドが追加されています。先に触れたように、コントローラーのメソッドは、メソッド名とアクセスするアドレスによって決定されます。postIndexは、/helo/indexにPOST送信された時の処理を行うものです。
このメソッドでは、「Request」と呼ばれるクラスのインスタンスが引数に用意されています。これは、リクエスト(ユーザーからのアクセス)に関する各種の情報を管理するクラスです。引数に渡されたこのRequestからメソッドを呼び出すことで、さまざまな情報を得ることができます。ここでは、
このようにして、送信されたフォームの値を取り出しています。「input」というのが、送られた値を得るためのメソッドで、引数にはname属性で指定した名前を記述しておきます。先ほど作ったhelo.phpでは、<input type="text" name="str">というようにタグを用意していましたから、input('str')でその値が取り出せた、というわけです。
修正したら、内臓サーバーを実行して、http://localhost:8000/helo にアクセスしてみてください。入力フィールドが1つだけ表示されるので、何か書いて送信してみましょう。するとフォームのすぐ上に、「you typed: ○○」というようにして、入力したテキストが表示されますよ。
ここでは、新たに「postIndex」というメソッドが追加されています。先に触れたように、コントローラーのメソッドは、メソッド名とアクセスするアドレスによって決定されます。postIndexは、/helo/indexにPOST送信された時の処理を行うものです。
このメソッドでは、「Request」と呼ばれるクラスのインスタンスが引数に用意されています。これは、リクエスト(ユーザーからのアクセス)に関する各種の情報を管理するクラスです。引数に渡されたこのRequestからメソッドを呼び出すことで、さまざまな情報を得ることができます。ここでは、
$res = "you typed: " . $request->input('str');
このようにして、送信されたフォームの値を取り出しています。「input」というのが、送られた値を得るためのメソッドで、引数にはname属性で指定した名前を記述しておきます。先ほど作ったhelo.phpでは、<input type="text" name="str">というようにタグを用意していましたから、input('str')でその値が取り出せた、というわけです。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Http\Requests; use App\Http\Controllers\Controller; class HeloController extends Controller { public function getIndex(Request $request) { return view('helo', ['message' => 'please type...']); } public function postIndex(Request $request) { $res = "you typed: " . $request->input('str'); return view('helo', ['message' => $res]); } }
※関連コンテンツ