libro
www.tuyano.com
初心者のためのLaravel入門

Requestクラスの基本 (2/5)

作成: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からメソッドを呼び出すことで、さまざまな情報を得ることができます。ここでは、
$res = "you typed: " . $request->input('str');

このようにして、送信されたフォームの値を取り出しています。「input」というのが、送られた値を得るためのメソッドで、引数にはname属性で指定した名前を記述しておきます。先ほど作ったhelo.phpでは、<input type="text" name="str">というようにタグを用意していましたから、input('str')でその値が取り出せた、というわけです。

※プログラムリストが表示されない場合

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]);
    }
}

※関連コンテンツ

「初心者のためのLaravel入門」に戻る