当前位置: 首页 > 后端技术 > PHP

Laravel中Form表单的优雅处理

时间:2023-03-29 20:53:12 PHP

原文:https://www.codecasts.com/blo...在开发Laravel应用时,通常会涉及到表单处理。如何优雅地处理和复用Laravel的Form表单,以下是一点生活经验:虽然使用FormPackage编写原生HTML代码确实更具可读性,但实际上FormPackage还是会给我们带来很多便利,比如使用Form::model()和Form::select()时间。想象这样一个例子:我们需要添加或更新用户的用户名我们可以这样设计代码和目录结构://locatedinresources/views/users/edit.blade.php{!!Form::model($user,['route'=>['users.update',$user->id],'method'=>'put'])!!}@include('users._form')//你的取消/更新按钮{!!Form::close()!!}//在resources/views/users/_form.blade.php{!!表格::标签('姓名','姓名')!!}{!!Form::text('name')!!

上面的Form生成的HTML代码如下所示:Name
注意在Form中::model()方法,我们之间传递了$user变量,意思是:如果$user有name属性的值,表单会自动填入这个值,不用我们手动写。第二点是,由于我们将$user传递给Form::model(),我们可以在控制器中使用这个小技巧:classUserControllerextendsController{publicfunctioncreate(){returnview('users.create',['用户'=>新用户]);}publicfunctionedit(User$user){returnview('users.edit',['user'=>$user]);这样的话,你在编辑和添加的时候就不会发生冲突了。编辑更新的时候有name的值,添加的时候不需要name的值。所以我们可以把整个Form表单写成这样://位于resources/views/users/_form.blade.phpNamename)}}"class="form-control">
完成!最后一句还是那句话:在处理表单的时候还是可以考虑FormPackage的,尤其是在处理