Laravel 中的 Form class 可以協助產生前端表單
基本表單使用
<!-- 預設 method 是 POST -->
{{ Form::open(array('url' => 'foo/bar', 'method' => 'put')) }}
<!-- 直接指定到 action -->
{{ Form::open(array('action' => 'UsersController@index')) }}
<!-- enable files -->
{{ Form::open(array('url' => 'foo/bar', 'files' => true)) }}
<!-- Form 結束標籤 -->
{{ Form::close() }}
表單內容操作
<div>
{{ Form::open(array('url' => 'foo/bar')) }}
<!-- Label -->
{{ Form::label('name', 'Name:', array('class' => 'address')) }}
<!-- Text -->
{{ Form::text('name', 'Johnson') }}
<!-- Password -->
{{ Form::password('password') }}
<!-- Submit -->
{{ Form::submit('Send this form!') }}
{{ Form::close() }}
</div>
結合 Model 使用
Controller
class MemberController extends BaseController {
public function getIndex()
{
$member = Member::find('johnsonlu');
return View::make('home', array('member' => $member));
}
}
View
<!-- binding model -->
{{ Form::model($member, array('url' => array('home/account', $member->nacid))) }}
{{ Form::label('nacid', 'Account:', array('class' => 'address')) }}
{{ Form::text('nacid') }}
{{ Form::label('name', 'Name:', array('class' => 'address')) }}
{{ Form::text('name') }}
{{ Form::submit('Send this form!') }}
{{ Form::close() }}
Drop-Down Lists
// Default Select(name, array(value => option_str))
echo Form::select('size', array('L' => 'Large', 'S' => 'Small'));
// Default Select
echo Form::select('size', array('L' => 'Large', 'S' => 'Small'), 'S');
// Range
echo Form::selectRange('number', 10, 20);
// Select Month
echo Form::selectMonth('month');
// Group
echo Form::select('animal', array(
'Cats' => array('leopard' => 'Leopard'),
'Dogs' => array('spaniel' => 'Spaniel'),
));
Custom Macros
Form::macro('myInput', function()
{
return '<input type="awesome">';
});
echo Form::myInput();