以下内容安装是基于laravel 5.4(版本号不小于5.2)
1 安装illuminate/Form
composer require "laravelcollective/html":"^5.2.0"
可以直接安装
composer require "laravelcollective/html"
或者不添加双引号
composer require laravelcollective/html
2 配置illuminate/Form
在config/app.php文件中
providers添加Service Provider:
'providers' => [
// ...
Collective\Html\HtmlServiceProvider::class,
// ...
],
注意后面的逗号不能省略。
aliases中添加
'aliases' => [
// ...
'Form' => Collective\Html\FormFacade::class,
'Html' => Collective\Html\HtmlFacade::class,
// ...
],
3 打开Form(Opening A Form)
{!! Form::open(['url' => 'foo/bar']) !!}
//
{!! Form::close() !!}
注意:
echo Form::open(['url' => 'foo/bar', 'method' => 'put'])
Form默认是POST方法,但是也可以重新定义。
Note:因为HTMLForms仅支持POST和GET,而使用PUT和DELETE时需要在form中增加使用_mothod隐藏字段。
可以在Form表单中使用路由或者控制器:
echo Form::open(['route' => 'route.name'])
echo Form::open(['action' => 'Controller@method'])
也可以是实现参数传递
echo Form::open(['route' => ['route.name', $user]])
echo Form::open(['action' => ['Controller@method', $user]])
如果窗体要接受文件上载,请向数组中添加文件选项:
echo Form::open(['url' => 'foo/bar', 'files' => true])
4 Form Model Binding
- Opening A Model Form
使用Form::model填充表单
echo Form::model($user, ['route' => ['user.update', $user]])
注意:When using Form::model, be sure to close your form with Form::close!
参考:
https://laravelcollective.com/docs/5.2/html
http://www.jianshu.com/p/e00d9086aa2d
{!! Form::open(['url'=>'/articles']) !!} //指定文章上传路由 备注1
<div class="form-group"> //添加样式
{!! Form::label('title')!!}
{!! Form::text('title',null,['class'=>'form-control'}])!!} //添加样式
</div>
{!! Form::close()!!}
备注1: 路由中的设置
“`
Route::post(‘/articles’,’ArticlesController@store’)