パッケージというと、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とは異なるので、使いこなすには練習・復習が必要です。
