Laravel5入門ルート・コントローラー・ビューの基本的な使い方

Laravel初心者向けにルート・コントローラー・ビューの使い方を分かりやすく解説しました。

純粋に静的なHTMLページだけで構成されるサイトや少しレベルアップしてWordpressでサイトを作っていると、ステップアップとしてフレームワークを使って何か作りたくなってきます。

僕が初めてフレームワークを触った時にまずわからなかったのが、ルート、コントローラーとアクションの使い方でした。
静的なHTMLサイトであれば、ファイルのある場所をURLで指定して表示させますが、フレームワークの場合、ルート、コントローラーとアクションを指定してページを表示させます。これがわからなかった。そして理解できたときに「フレームワークおもしろい!」と感動したのを覚えています。

フレームワーク初めてという方のためにlaravel5でroute,controller,viewの使い方を説明します。

amazonプライム会員15の特典メリットと年会費を無料にする方法

2016.02.11

routeの役割

インストールされたばかりのlaravelのサイトにアクセスすると次のような画面が表示されます。

Laravelトップページ
このページの表示はどのように制御されているのでしょうか?Laravelのページ遷移を制御しているのはroutes.phpというファイルです。
app/Http/routes.php
というファイルを開くと次のような記述がされています。

サイトのルートにアクセスしたら一番上にある

がページ遷移の制御をおこないます。
言葉で説明すると、「サイトのルートにゲットでアクセスしたら、WelcomeController内のindexアクションを実行する」みたいな感じです。

controllerの中は…

では、WelcomeControllerとは何でしょうか?
app/Http/controllers/WelcomeController.phpを開いてください。次の様な記述があります。

ここで見てみてもらいたのは

の部分です。
さきほど、「サイトのルートにゲットでアクセスしたら、WelcomeController内のindexアクションを実行する」といいましたが、WelcomeController内にはindex()メソッドが定義されていて、これが実行されるわけです。
メソッドの処理はというと、「welcomeというビューを返す」という処理です。

ではこの「welcome」というビューはどこにあるのか?
resources/views内にwelcome.blade.phpというファイルがあります。これです(bladeというのはとりあえず無視しておいて大丈夫です)。
welcome.blade.phpを開いてみると、中身はHTMLで記述されていてランダムに格言が表示されるようになっています。

以上のような流れでルートページの表示は制御されています。
おわかりいただけましたでしょうか?

自分でルート、コントローラー、アクションを定義してみる

では自分でルート、コントローラー、アクションを定義してみましょう。
サンプルとして、http://☓☓☓/contactにアクセスするとお問合せページに飛ぶようにします。

はじめにrouteを定義します。

app/http/routes.php

1行目のラインを書きます。
「contactにゲットでアクセスしたらContactController内のindexメソッドを実行してね。」という意味です。

次にapp/Http/controllers内にContactController.phpというファイルを作って次の記述をします。
app/Http/controllers/Controller.php

最後にお問合せ画面を作ります。
resources/views内にcontact.blade.phpというファイルを作ります。
resources/views/contact.blade.php

ここまでできたらブラウザでhttp://example.com/contactにアクセスしてみてください。

「お問合せ画面です」

という画面が表示されるはずです。

以上、超シンプルですがroute,controllerの簡単な使い方でした。

次回はコントローラーからビューに変数を渡す方法を紹介します。

スポンサーリンク