はじめに
ララベルでアプリにアクセスし処理を行うにはアドレスと処理を関連づけるルーティングと全体の制御を行うコントローラーが必要となる。
ルーティング
一般的なウェブサイトではwebサーバーの公開フォルダの中にファイルを用意しておくとそのままファイルが表示されます。例えばwebappというフォルダにhelo.htmlと言うファイルを用意すれば、http://〇〇/webapp/helo.htmlというアドレスにアクセスすると自動的にそのファイルが読み込まれ表示されます。
しかしLaravelを使っている場合はそうはできません。
Laravelでは特定のアドレスにアクセスされるとそのアドレスに割り振られたプログラムが実行されそれによって必要な処理や画面が表示されます。
このような〇〇アドレスにアクセスした場合に✖️✖️という処理を行うというのがルーティングです。
routesフォルダについて
web.phpのファイルは一般的なwebページにアクセスするためのルーティングです。
基本的にwebページに後悔するものは全てこのweb.phpにルート情報を記述すると考えてよい。(当分の間はそれ以外のファイルは使用しない。)
ルート情報の記述
<?php
Route::get('/', function () {
return view('welcome');
});
このようにweb.phpに書かれていた場合ですが
今回はトップページにアクセスした際の処理を記述しています。Laravelのアプリではデフォルトでトップページの処理が記述されています。
ルートの基本情報の見方ですが
Route::get('アドレス', 関数など );
というふうになっています。
第一引数には割り当てられるアドレス、第二引数には処理を指定します。
ちなみに第二引数には関数以外にもコントローラーを指定することもあります。
getを使ってアドレスと処理を割り当てることがルートの情報設定の基本です。
トップページのルート情報
今回は第二引数には関数を指定しておりますが、引数なしの無名関数(グロージャ関数)となっております。
内部ではreturnで戻り値を指定しておりここで返される戻り値がそのアドレスにアクセスした際に表示される内容となります。ここではviewという関数を使って戻り値を用意しています。これは以下のように使用します。
view(テンプレート名)
このviewは指定されたテンプレートファイルをロードしてレンダリングして返すという役割があリます。
要するに今回はwelcomeとあるのでwelcomeのviewが表示されることになります。(正確にはwelcome.blade.php)
また、基本的にビューはHTMLのコードが書かれているように見えますが@マークから始まるような文も多く存在します。
これはbladeと呼ばれるテンプレートエンジンをつかて書かれたソースコードです。
ララベルではPHPをそのまま使ってウェブページを作ることもできますが、bladeテンプレートエンジンを使うことの方が多いです。
簡単に仕組みを解説するとviewフォルダの中にテンプレートファイルが用意され、それをview関数で読み込んで表示しているということになります。