ホームページ > 記事 > PHPフレームワーク > Laravel でフォームを適切に処理する
Laravel アプリケーションを開発する場合、通常はフォーム処理が必要になります。Laravel のフォーム フォームをエレガントに処理して再利用する方法については、次のような小さな人生経験があります:
フォーム パッケージを使用する
ネイティブ HTML コードを記述する方が確かに読みやすくなっていますが、実際には Form Package を使用すると、Form::model() や Form::select() の使用など、多くの利便性が得られます。
例を想像してください: ユーザーのユーザー名を追加または更新する必要があります。
次のようなコードとディレクトリ構造を設計できます:
// 位于 resources/views/users/edit.blade.php {!! Form::model($user, ['route' => ['users.update', $user->id], 'method' => 'put']) !!} @include('users._form') // Your cancel / update buttons {!! Form::close() !!} // 位于 resources/views/users/_form.blade.php <div class="form-group"> {!! Form::label('name', 'Name') !!} {!! Form::text('name') !!} </div>
上記によって生成された HTMLフォーム コードはおそらく次のようになります:
<form method="POST" action="http://example.com/users/1" accept-charset="UTF-8"> <input name="_token" type="hidden" value="Q5oILhAr92pVqfE0ZSSXjSdJuUi09DVSPWweHQlq"> <input name="_method" type="hidden" value="PUT"> <div class="form-group"> <label for="name">Name</label> <input name="name" type="text" value="Michael"> </div> </form>
Form::model() メソッドで $user 変数を渡します。これは、$user に name 属性の値がある場合、フォームがこの値は、手動で記述する必要がなく、自動的に入力されます。
2 番目のポイントは、$user を Form::model() に渡しているため、コントローラーで次の小さなトリックを使用できることです。
class UserController extends Controller { public function create() { return view('users.create', ['user' => new User]); } public function edit(User $user) { return view('users.edit', ['user' => $user]); } }
この場合、次のようになります。編集および追加時に競合が発生しない 編集および更新時には名前の値が存在しますが、追加時には名前の値は必要ありません。したがって、フォーム全体を次のように書くことができます:
// 位于 resources/views/users/_form.blade.php <div class="form-group"> <label for="name">Name</label> <input type="text" name="name" value="{{ old('name', $user->name) }}" class="form-control"> </div>
これで完了です。
最後に
#これも同じ文です。フォームを処理するとき、特に
Laravel 関連の技術記事の詳細については、Laravel Framework Getting Started Tutorial 列にアクセスして学習してください。
以上がLaravel でフォームを適切に処理するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。