Dream of Electric Sheep

WEBやプログラムの忘備録

Laravel 5.1 の Hello World 【View編 の準備】

さて、前回 Controller を使った Hello World をやりましたが、今回は View を使って Hello World をやりましょう。これでMVCのVとCが登場する訳です。ViewにはLaravel標準のbladeというテンプレートを使用してやってみます。

【準備】
blade上でformを使用するときformヘルパーというものを使うのですが、Laravel5からはモジュールを追加しないとformヘルパーが使えません。Laravel4では特になんの設定もなく使えていたみたいなので、5に移行するときのちょっとしたハマりポイントになっているみたいです。

まずはLaravelインストールフォルダ直下にある composer.php の require に "illuminate/html": "~5.0" を追記します。

    "require": {
        "php": ">=5.5.9",
        "laravel/framework": "5.1.*",
        "illuminate/html": "~5.0"
    },

配列形式なのでカンマを忘れずに。次にコマンドプロンプトで composer update をしてモジュールの追加をします。カレントディレクトリはLaravelインストールディレクトリです。

> cd C:\pleiades\workspace\app_laravel
> composer update

モジュールの追加が終わったら config/app.php を編集します。
Laravel 5.1 の場合、

'providers'に

Illuminate\Html\HtmlServiceProvider::class,

'aliases' に

'Form'      => Illuminate\Html\FormFacade::class,
'Html'      => Illuminate\Html\HtmlFacade::class,

を追記します。
Laravel 5.0 の場合は、

'providers'に

'Illuminate\Html\HtmlServiceProvider',

'aliases' に

'Form'      => 'Illuminate\Html\FormFacade',
'Html'      => 'Illuminate\Html\HtmlFacade',

を追記します。
5.1 と 5.0 で微妙に書式が違います。5.1 ではファサードでclassを指定するようになりました。

ちなみに composer update を行う前に config/app.php 編集してしまうとエラーになります。

[Symfony\Component\Debug\Exception\FatalErrorException]
Class 'Illuminate\Html\HtmlServiceProvider' not found

というエラーがでたら config/app.php の 'providers' の記述を削除(コメントアウトでよい)して、composer update をしてください。

大したことまだ書いていないけど、今日はここまでにします。