Laravel – Collective

Laravel Collective là 1 package dùng để xây dụng Form/Html. Để sử dụng Laravel Collective bạn cần cài đặt gói này thông qua composer.

Ví dụ 1

Step 1 : Thực thi lệnh command sau để cài đặt Laravel Collective

composer require laravelcollective/html

Step 2 : Thêm gói Laravel Collective vừa cài đặt vào mảng providers của config/app.php.

'providers' => [
    // ...
    Collective\Html\HtmlServiceProvider::class,
    // ...
  ],

Step 3 : Thêm 2 aliases sau vào mảng aliases của config/app.php.

'aliases' => [
    // ...
      'Form' => Collective\Html\FormFacade::class,
      'Html' => Collective\Html\HtmlFacade::class,
    // ...
  ],

Step 4 : Sau khi cài đặt, và thêm file config/app.php. Chúng ta có thể sử dụng Laravel Collective để xây dụng form.

Thẻ mở form

{!! Form::open(['url' => 'foo/bar']) !!}
    //
{!! Form::close() !!}

Label

Tạo một Label

echo Form::label('email', 'E-Mail Address');

Thêm các thuộc tính

echo Form::label('email', 'E-Mail Address', ['class' => 'awesome']);

Text, Text Area, Password & Hidden Fields

Tạo một text Input

echo Form::text('username');

Tạo text Input với giá trị mặt định.

echo Form::text('email', 'example@gmail.com');

Tạo Password Input.

echo Form::password('password', ['class' => 'awesome']);

Checkboxes và Radio Buttons

Tạo Checkboxes và Radio Buttons.

echo Form::checkbox('name', 'value');
echo Form::radio('name', 'value');

Tạo Checkboxes và Radio Buttons với Checked.

echo Form::checkbox('name', 'value', true);
echo Form::radio('name', 'value', true);

Number

Tạo Number Input.

echo Form::number('name', 'value');

Date

Tạo Date Input.

echo Form::date('name', \Carbon\Carbon::now());

File Input

echo Form::file($name, $attributes = []);

Email

echo Form::email($name, $value = null, $attributes = []);

Drop-Down List

Tạo Drop-Down List.

echo Form::select('size', ['L' => 'Large', 'S' => 'Small']);

Tạo Drop-Down List với giá trị Selected.

echo Form::select('size', ['L' => 'Large', 'S' => 'Small'], 'S');

Tạo Drop-Down List với Empty Placeholder.

echo Form::select('size', ['L' => 'Large', 'S' => 'Small'], null, ['placeholder' => 'Pick a size...']);

Buttons

echo Form::submit('Click Me!');

Ví dụ 2

Step 1 : Tạo view chưa form resources/views/form.blade.php với code như bên dưới:

resources/views/form.php

<html>
   <body>

    {!! Form::open(['url' => 'foo/bar']) !!}

    {{ Form::text('username', null, ['placeholder'=>'username']) }}
    <br />
    {{ Form::text('email', null, ['placeholder'=>'example@gmail.com']) }}
    <br />
    {{ Form::password('password', ['placeholder'=>'password']) }}
    <br />
    {{ Form::checkbox('name', 'value') }}
    <br />
    {{ Form::radio('name', 'value') }}
    <br />
    {{ Form::file('image') }}
    <br />
    {{ Form::select('size', ['L' => 'Large', 'S' => 'Small']) }}
    <br />
    {{ Form::submit('Click Me!') }}
    {!! Form::close() !!}
   </body>
</html>

Step 2 : Thêm code sau vào routes/web.php

Route::get('/form',function(){
   return view('form');
});

Step 3 : Vào URL http://localhost:8000/form xem kết quả