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 等は真別の機会に確認したいと思います。