ルーティング

ルーティングとは?

つまり、どのURLでアクセスされれば、
どの処理を行うかを決定するための処理である。

ルーティングファイル

「/app/http/routes.php」ファイルが、
ルーティングを担うファイルである。・・・のだが、
Laravel5.3以降からは、「/routes/」ディレクトリに、
用途に応じて、まとめられるようになった。

URLアクセスに応じて行う処理を決定するファイルは、
「/routes/web.php」である。
このファイルには、初期の時点では、
以下のコードが記述されているはずである。

Route::get('/', function () {
    return view('welcome');
});

「Route::get()」の第1引数には、URLの形を記入する。
この「/」のみの場合、ドメインのみで、
ディレクトリパスなしでアクセスした際のURLとなる。

第2引数には、無名関数を入れられているが、
本来なら、ここに文字列でコントローラー名を指定する事になる。

このサンプルにおいては、戻り値として
「welcome.blade.php」というビューファイルを呼び出しており、
このビューに記述されたテンプレートを、直に出力しているのが、
最初にアクセスする「Laravel」と大きく描かれたページである。
ちなみに、このビューテンプレートは、
「/resources/views/welcome.blade.php」に存在する。

コントローラーにルーティングする

LaravelはMVCの概念を踏襲しており、
もちろんビューテンプレートを直に表示するだけでなく、
コントローラーを使用する場合もある。

コントローラーにルーティングする場合は、以下のように記述する。

Route::get('/index','IndexController@getIndex');

この場合、「www.example.com/index」というURLでアクセスした場合、
「IndexController」の「getIndex」メソッドに処理を渡す事になる。
「@」より左側がコントローラー名で、右側がその中のメソッド名と覚えておけばよい。

なお、コントローラーファイルのファイル名とクラス名は、同一にしておくこと。
また、コントローラー名の頭文字と「Controller」の「C」は大文字にしておくこと。
つまり、「アッパーキャメルケース」という記法である。