====== 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}}