今回は、Laravelのルーティングについて記述していきます。
ルーティング
特定のアドレスにアクセスしたとき、どの処理を呼び出して実行するかを管理するのがルーティング
ルーティングは各Webページを管理する基本となります。
routesフォルダ
本来Webサイトは、Webサーバー上にディレクトリとファイルを用意しておくと、そのパスがURLになります。
しかし、Laravelでは特定のアドレスにアクセスすると、そのアドレスに割当てられたプログラムが実行され、それにより必要な処理や画面表示が行われます。
あるアドレスにアクセスすると、ある処理を呼び出すという関連付けを記述しているのがルーティング
routesフォルダには複数のファイルが用意されている
api.php : APIルーティング
channels.php : ブロードキャストチャンネルのためのルーティング
console.php : コンソールプログラムのためのルーティング
web.php : 一般的なWebページとしてアクセスするためのルーティング
Web公開するものは、web.phpで設定する。
ルート情報の基本構文
Route::get( アドレス , 関数やコントローラなど );
GETアクセスのルート情報は、Routeクラスの get という静的メソッドを使って設定します。
第一に割り当てるアドレスを、第二引数にはそれによって呼び出される処理を用意し、
処理は関数やコンロトーラを指定します。
ちなみに、Laravelは、デフォルトでトップページの表示が用意されています。
<?php
Route::get('/', function( ){
return view('welcome');
});
デフォルトで用意されているトップページのルート情報、
第一引数に'/'というトップページを表すアドレスを設定しており、
第二引数に関数を指定、この関数は以下のように記述されています。
function(){
return 値;
}
引数なしの無名関数になっており、
内部ではreturnで戻り値を指定していて、このreturnで返される値が、そのアドレスがアクセスした際に表示される内容となります。
ここではviewという関数を使って戻り値を用意しており、以下のように利用します。
view( テンプレート )
このviewは、指定したテンプレートファイルをロードし、レンダリングして返す働きをします。
つまり、このviewにテンプレートを指定すると、それがレンダリングされて返され、ブラウザに表示される仕組みになっています。
パラメータの利用
パラメータを設定し、値を渡すことができます。
Route::get('/xx/{パラメータ}', function($受け取る引数){...});
第一引数のアドレス部分にの{パラメータ}に指定されたテキストがパラメータとして取り出せるようになります。
第二引数では、パラメータの値を受け取る変数を引数に用意しておく(パラメータと同じ名前でなくて良い)、{パラメータ}で指定されたパラメータの値は、そのまま関数の引数に渡せます。
参考資料
PHPフレームワーク Laravel入門 著者:掌田津耶乃