====== 26 Laravel FormBuilder ======
===== インストール =====
composer require kris/laravel-form-builder
===== From class 作成 =====
本当にシンプルなFormをFormBuilderで作成してみる。
Formをsubmitすると、ただリクエストを表示するだけ。
php artisan make:form Forms/SongForm --fields="name:text, lyrics:textarea, publish:checkbox"
add('name', 'text')
->add('lyrics', 'textarea')
->add('publish', 'checkbox')
->add('submit', 'submit');
}
}
===== コントローラ作成 =====
php artisan make:controller SongsController
create('App\Forms\SongForm', [
'method' => 'POST',
'url' => route('song'),
]);
$req = $request->all();
return view('song', compact('form', 'req'));
}
}
===== route追加 =====
GET/POST 共に受け取れるように設定
Route::any('song','SongsController@create')->name('song');
===== view追加 =====
FormBuilder
FormBuilder TEST
@section('content')
{!! form($form) !!}
@foreach ($req as $k => $v)
{{ $k .' : '.$v }}
@endforeach
@endsection
@yield('content')
===== エラー =====
Using version ^1.20 for kris/laravel-form-builder
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 2 installs, 0 updates, 0 removals
- Installing laravelcollective/html (v5.8.0): Downloading (100%)
- Installing kris/laravel-form-builder (1.20.0): Downloading (100%)
Writing lock file
Generating optimized autoload files
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover --ansi
In MemcachedConnector.php line 69:
Class 'Memcached' not found
==== 対応 ====
.envでmemocachedを有効にしているとエラーが出ので
SESSION_DRIVER=memcached
↓
SESSION_DRIVER=file
{{tag>Laravel}}