Laravel芸人見習いのすろっくさんですよ! フォームヘルパーつかいたいですね!
フレームワーク芸人たるもの、直接ビューを書いてもいい場合は書くわけですが、当然ビューヘルパーは使いたいですね。Railsでいうform_for、form_tag、input_tagみたいなああいうのです。
ですが、Laravelは4までは組み込まれていたんですが、5からは別パッケージになってしまったみたいです。時代の流れからか、WAFがJsonかえしてくれりゃーええでっていう時代なんで、まあ流れ的に仕方ないのかもしれませんが。
あまりモノシリックにしないのが世の流れなのかもですね!
それはさておき、わざわざReactとかやりたくねーなーっていうサーバサイドエンジニアもいると思うんで、フォームヘルパーがちゃんと用意されています。laravelcollective/htmlってのがそれです。
デフォルトではつかえないので、composerつかっていれましょう。
注意点ですが、Laravel5がリリースされたばっかの記事をみていると、illuminate/htmlをインストールさせる記事がちらほらあります。このパッケージはメンテされてないのでつかっちゃだめです。illuminate/htmlをインストール!とか書いてあったらそのサイトは信じちゃダメです! 約束だよ!
LaravelCollectiveを使う
インストールはこんぽーさーさんで終わりです。らくらく。
composer require laravelcollective/html
インストールできたら設定をconfig/app.phpに書きます。
return [
'providers' => [
// ...
'Collective\Html\HtmlServiceProvider',
],
'aliases' => [
// ...
'Form' => Collective\Html\FormFacade::class,
'Html' => Collective\Html\HtmlFacade::class,
],
上のprovidersをプロバイダ、aliasesをファサードというらしいです。
大体のフレームワークに言えることですが、なんか新しい用語でてきても初めはぶっとばしていかないと楽しくないです。仕事で使うなら会話で「プロバイダってなに?」「ファサードってなに?」ってふんわり覚えておくくらいは必要ですが、技術を趣味でいじるときに細かいところこだわるとしんどくなるんで、詳細はすっ飛ばします。ただ、Laravelではモジュールを追加してヘルパーいれるときはここに追記が必要なようです。
これでフォームヘルパーが使えるようになりました!
あとはresource/views以下のbladeとかに
{!! Form::label('title', 'Title:') !!}
{!! Form::text('title',[わたしたいパラメータのvalue。なければnull], ['class' => '[クラス名]']) !!}
みたいに書くとヘルパー使えます。よかったね!