こちらの記事では、人気のPHPフレームワーク「Laravel」の「ルーティング」に関してつぶやいていきます。
Laravelの基本的な情報については、こちら読んでいただけると理解いただけるかと思います。併せて読んでいただけると幸いです。
特定のアドレスにアクセスしたときに、どの処理を呼び出して実行を行うか?
それを管理するのが、「ルーティング」です。ルーティングは各ウェブページを管理する基本となるものです。
このルーティングの基本について、理解していきたいと思います。
アプリケーションの構成
プロジェクトを作成すると、そのプロジェクトフォルダ以下にはいろいろなフォルダやファイルが作成されます。
ざっとでよいかと思いますが、これらのファイル・フォルダの役割は知っておいた方がよいでしょう。
以下がそのファイルになります。
.env | 動作環境に関する設定情報 |
.gitattributes | git 利用に関する情報 |
artisan | artisan コマンド ( php artisan serve で使用したもの) |
composer | composer の利用に関するもの |
package.json | javaScript のパッケージ管理ツール(npm) で利用するもの |
phpunit.xml | PHPUnit (ユニットテストプログラム)に関するもの |
server.php | サーバー起動時に利用されるプログラム |
webpack.mix.js | webpack (JavaScript パッケージツール)で使用するもの |
yarn.lock | yarn (パッケージマネージャ)が使用するファイル(自動生成される) |
フォルダ類は以下になります。
app | アプリケーションのプログラム部分をまとめる所 開発時には、ここに必要なスクリプトファイルを追加していきます。 |
bootstrap | アプリケーション実行時に最初に行われる処理がまとめられています。 |
config | 設定関連のファイルがまとめられています。 |
database | データベース関連のファイルがまとめられています。 |
public | JavaScript や css スタイルシートなど、外部にそのまま公開されるファイルがまとまられています。 (公開フォルダと呼ばれる) |
resource | プログラムが利用するリソース関連のファイルがまとめられています。 |
routes | ルート情報がまとめられています。 アクセスするアドレスに割り当てられるプログラムの情報などが記されています。 |
storage | アプリケーションのプログラムが保存するファイルなどが置かれます。 ログファイルなどはここに保存されます。 |
tests | ユニットテスト関連のファイルが用意されます。 |
vendor | フレームワーク本体のプログラムがまとめられています。 |
これからLaravelで開発するにあたり、もっともよく利用することになるのは、以下のフォルダになります。
[app]フォルダ
[routes]フォルダ
プログラムを作成して、それを適当なアドレスに割り当てるのに、この2つのファイルにファイルを作成したり、用意されたファイルを編集したりする必要があります。
[resouces]フォルダ
テンプレートを配置するところ。ここもよく使用することになるでしょう。
[app]フォルダ
もっとも重要かつ利用頻度が高いフォルダになるかと思います。
ここには、アプリケーション部分のプログラムを配置します。このフォルダ内にも更にフォルダが用意されています。
Console | コンソールプログラムを配置するところです。 |
Exceptions | 例外に関する処理を配置するところです。 |
Http | ウェブアプリケーションにアクセスした時の処理をまとめておくところ アプリケーションの基本的なプログラムはここに作成していきます。 |
Providors | プロバイダと呼ばれるプログラムを配置します。 |
User.php | ユーザー認証に関するスクリプトです。 |
ルーティングと[routes]フォルダ
今回の記事の主役。ルーティングを管理するところです。
一般的にウェブサイトは ブラウザにURL(http:// ~)を入力して該当のサイトを表示させています。
Laravelでは、特定のアドレスにアクセスされると、そのアドレスに割り付けられたプログラムを実行して、それによって必要な処理や画面表示を行う仕組みになっています。
~というアドレスにアクセスされたら、・・・という処理を呼びだす
という関連付けを行うのが、「ルーティング」という機能になります。
ルーティングはアクセスを設定している情報(ルートという)を管理する機能になります。
Laravelでプログラム開発するにあたり、このルーティングの仕組みを理解できていないと、プログラムを公開することができません。
ここまで、Laravelのルーティングについて、基本的なことをつぶやきました。
次回以降は、ルーティングが実際にどのように行われるのか?など詳細についてつぶやいていく予定です。