今、Laravelを触り始めています、
まだまだ、分からないことばかりです、、、、
さて、今回は、Laravelのルーティングの基礎について書き留めておきます!
まず、ルーティングとは何かというところから、
Wikipediaでは、
ルーティングあるいは経路制御(けいろせいぎょ)は、情報を送信するため、コンピュータネットワーク上での経路を見つけだす手法である。
『wiki/ルーティング』
とありますが、プログラム超初心者には難しいので、プログラム超初心者用に噛み砕いてみます。
まず、あるWebサービスを作りそのサービスへアクセスするURLを下記のように設定しているとします。
http://www.example.com/
そして、通常、ログイン画面や設定画面などの役割ごとに処理するページを分ける必要があります。
つまり、「
http://www.example.com/login」へアクセスがあったらログイン画面を「
http://www.example.com/setting」へアクセスがあったら設定画面を表示させます。
このURLと画面表示を関連付ける処理をルーティングといいます。
それでは、Laravelでのルーティングの基本3項目を、
①定義場所
Laravelでのルーティングの設定は、「app/routes.php」に全て定義します。
なお、注意点としては、ルートは登録された順番に評価されるので、「すべてに当てはまる」ルートは最後に追加しなければいけません。
②定義方法
下記のように、ルーティングのメソッドとパス、処理を設定します。
Route::ルーティングメソッド('パス', 呼び出す処理);
③処理方法
大きく分けて
「クロージャーで書く」方法と
「コントローラーに渡す」方法の2通りがあります。
《クロージャー型》routes.phpに処理を直接書く方法
複雑な処理は通常コントローラーへ記述するので、通常は使用しませんが、即時性の高いデバッグ方法として、デバッグなどのメソッドなどに使用します。
Route::get('/', function() {
Log::debug(‘/ にアクセスがありました。‘);
});
《コントローラー型》別に用意したコントローラーへ処理を渡す方法
通常は、こちらを使用します。
下記の定義では、ReportControllerというコントローラーのsendReportというメソッドを呼び出しています。
Route::get('report/', 'ReportController@sendReport');
以上です!
【参考サイト】
『最新鋭のPHPフレームワーク「Laravel4」でWeb開発 | (2)ルーティング編』
『Web職人のためのフレームワーク』