初めてのLaravel 5.1 : (2) ビューの作成

前回は Laravel フレームワークがページを表示するまでのフローを追いました。
今回は、自分で新しいページ(ビュー)を作成し、表示してみます。

シナリオ

http://localhost:8000/contact ページを作成します。


Routing

routes.php に contactへのGETアクセスの設定を追加します。

// app/Http/routes.php

Route::get('/', 'WelcomeController@index'); 
Route::get('contact', 'WelcomeController@contact');   // 追加

Controller

WelcomeController.php に contact メソッドを追加します。

app/Http/Controllers/WelcomeController.php

<?php namespace AppHttpControllers;

class WelcomeController extends Controller {
    // ...
    public function contact()  // 追加
    {
        return "contact";  // (a) view 関数を使わず、テキストを返してみる
    }
}

まずは (a) の部分で view関数を使わず、単にテキストを返してみます。
ブラウザで http://localhost:8000/contact を表示すると…

“contact” が表示されました。

単にテキストをかえすことも出来るんです。

viewを表示するよう変更します。

// app/Http/Controllers/WelcomeController.php

    public function contact()
    {
         return view("contact");  // (a) view 関数に変更
    }
}

ブラウザで http://localhost:8000/contact を表示すると…

Whoops, looks like something went wrong.

1/1 InvalidArgumentException in FileViewFinder.php line XXX:
View [contact] not found.

エラーが出ました。
これはまだ、contact.blade.php を作成していないので、Viewが見つからないと言われています。


View

contact.blade.phpを作成します。内容はただのHTMLとします。

<!-- app/resources/view/contact.blade.php -->

<!DOCTYPE HTML>
<html>
<head>
    <title>Contact</title>
</head>
<body>
    <h1>Contact me!</h1>
</body>
</html>

ブラウザで http://localhost:8000/contact を表示すると…

Contact me!

新しいページが表示できましたね。
成功です。


まとめ

以下のことが出来るようになりました。

  • Routing設定の追加
  • Controllerへのメソッド追加と Viewの呼び出し
  • View の新規作成と表示

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中