Laravel 5.7 の基本的なルーティング
「Laravel 5.7 で Hello, World!(Controller使用)」で何気なくルーティング(Routing)したのですが、ここでは Laravel のルーティングについて確認していきます。
ルーティングとは
ルーティングとは、ブラウザー等からのリクエスト(URI)と何かしらの処理(関数等)を対応付ける事をになります。
Laravel 5.7 では、 routes\ ディレクトリにある web.php が Web インターフェイスのルートを定義するファイルになっており、いくつかの方法でルーティングを定義することができます。
また、使用可能なルート定義メソッドは次のものが用意されています。
Route::get($uri, $callback);
Route::post($uri, $callback);
Route::put($uri, $callback);
Route::patch($uri, $callback);
Route::delete($uri, $callback);
Route::options($uri, $callback);
ルーティングの設定と無名関数
コントローラを必要としないシンプルなケースで、無名関数を使ったルーティングが次のようになります。
<?php
/*
|--------------------------------
| Web Routes
|--------------------------------
|
|*/
Route::get('/hello/index',function()
{
return 'hello, world!';
});
ブラウザから http://[ホスト名]/hello/index とアクセスすると第2引数に作成した無名関数が実行され hello,world! 文字列を返します。
コントローラとそのメソッドを指定したルーティングの設定
「Laravel 5.7 で Hello, World!(Controller使用)」で使用したフレームワークでよく見かけるコントローラー名とアクション名(メソッド)を組み合わせたルーティングが次のようになります。
Laravel では、呼び出す処理を「クラス名@メソッド名」として記述します。
Route::get('/hello/index', 'HelloController@index');
上記例では、 HelloController コントローラクラスの index メソッドが実行されることになります。
直接ビューを呼び出すルーティング
「aravel 5.7 で Hello, World!(View 編)」でコントローラからビューを呼び出したのですがルーティングで直接ビューを呼ぶこともできます。
Route::view('/hello/index', 'hello'
,[
'title' => 'Laravel View Sample'
,'heading' => 'Hello,World!'
,'content' => '値の渡し方'
]
);
※少し見にくいですが上記例は折り返して記述しています。
Laravel 5.7 の基本的なルーティングはこんなところでしょうか。値の受け渡しや REST 等は真別の機会に確認したいと思います。