パッケージというと、centOSのrpmや、npmのnode moduleのようなイメージでしょうか?
「laravel illuminate/html」で検索します
github:https://github.com/illuminate/html
https://laravelcollective.com/docs/5.2/html
なんじゃこりゃーー
composer.json
requireにインストールするパッケージ名を追加します。
"require": { "php": ">=5.5.9", "laravel/framework": "5.2.*", "laravelcollective/html":"^5.2.0" },
$ php composer.phar update
./config/app.php
provider
'providers' => [ // ... Collective\Html\HtmlServiceProvider::class, // ... ],
aliases
'aliases' => [ // ... 'Form' => Collective\Html\FormFacade::class, 'Html' => Collective\Html\HtmlFacade::class, // ... ],
あ、aliasesは普段使用しているclass名です
ここで引っ張て来てるんですね
view: create.blade.php
{!! Form::open() !!}と記載する
<h1>Create Post</h1> <!-- <form method="post" action="/posts"> --> {!! Form::open() !!} {{ csrf_field()}} <input type="text" name="title" placeholder="Enter tilte"> <input type="submit" name="submit"> </form>
methodを記入
{!! Form::open(['method'=>'POST', 'action'=>'PostsController@store']) !!} {{ csrf_field()}} <input type="text" name="title" placeholder="Enter tilte"> <input type="submit" name="submit"> {!! Form::close() !!}
更に、text form、submit buttonもcollectiveを使用
{!! Form::open(['method'=>'POST', 'action'=>'PostsController@store']) !!} {{ csrf_field()}} <div class="form-group"> {!! Form::label('title', 'Title') !!} {!! Form::text('title', null, ['class'=>'form-controll']) !!} </div> <div class="form-group"> {{ Form::submit('Create Post', ['class'=>'btn btn-primary'])}} </div> {!! Form::close() !!}
edit & delete
@section('content') <h1>Edit Posts</h1> {!! Form::model($post, ['method'=>'PATCH', 'action'=>['PostsController@update', $post->id]]) !!} {{ csrf_field()}} <div class="form-group"> {!! Form::label('title', 'Title') !!} {!! Form::text('title', null, ['class'=>'form-controll']) !!} {!! Form::submit('Update Post', ['class'=>'btn btn-info']) !!} </div> {!! Form::close() !!} {!! Form::open(['method'=>'DELETE', 'action'=>['PostsController@destroy', $post->id]]) !!} {{ csrf_field()}} <div class="form-group"> {!! Form::submit('DELETE', ['class'=>'btn btn-danger']) !!} </div> {!! Form::close() !!} @endsection
HTMLのformとは異なるので、使いこなすには練習・復習が必要です。