😇
Laravel Collectiveが終了する
Laravel Collectiveが終了する
Laravel 11以降は使えなくなる。
Laravel Collectiveとは何だったのか
Laravel公式から削除された機能を引き続き使えるようにコミュニティーが引き継いだもの。
Form
は元々Laravel4の頃は公式に存在した機能。
Laravel5.0で削除されたのでコミュニティーが引き継いで生まれたのがLaravel Collective。
Laravel Collectiveは非公式パッケージ。元は公式とはいえ公式からのサポートは一切ない。
今でも初心者はLaravel Collectiveをインストールして使ってるけど明らかに古い情報に騙されてる。Laravelのバージョンアップを何度か経験したらLaravel Collectiveの新バージョンへの対応の遅さが嫌になってLaravel Collectiveは使わなくなる。
自分もLaravel5.3とか5.4の頃にはもうLaravel Collectiveは捨てていた。
Laravel Collectiveからの脱出方法
「Laravel Collectiveの代わりになるパッケージはある?」とか考えず普通にhtmlを書けばいい。htmlなんて誰でも書ける簡単なことに別パッケージを使う必要はない。
{!! Form::open(['url' => 'foo/bar']) !!}
//
{!! Form::close() !!}
<form action="{{ route('foo.bar') }}" method="POST">
@csrf
<input ...>
</form>
BreezeやJetstreamを見れば分かるように何度も同じhtmlを書きたくないならBladeコンポーネントを使うのが今のLaravelの使い方。
Laravel4時代の古い使い方でしかないLaravel Collectiveは遠慮なく投げ捨てる。
余談:Formが削除された背景の予想
LaravelはAPIでjson返すだけでhtmlはフロントで表示するのが主流になると思われてた時代なのでLaravelでhtmlを生成するFormは削除された。
Laravel 10現在ではLivewire人気の上昇もあってBladeに回帰しているけど。
Discussion