laravel refresh eloquent model

PHP Laravel 5 Form Builder/HTML cài đặt, cơ bản

PHP Laravel 5 Form Builder/HTML cơ bản, cài đặt

Nếu bạn nào đã biết(hoăc chưa) thì Laravel 4 có hỗ trợ class Form Builder/HTML này.

Nhưng khi lên Laravel 5, Laravel đã loại ra class này và cho rằng đây không phải là “core” component.

Cho nên để xài được Form & Html (Form Builder) tại Laravel 5, chúng ta cần phải cài đặt thêm 1 bước nhỏ 😀

Cài đặt PHP Laravel 5 Form Builder/HTML

Để cài được Form Builder, chúng ta cần thông qua Composer với cậu lệnh như sau:

composer require laravelcollective/html

Khi chạy xong, bạn mở composer.json lên là sẽ thấy dòng này:

"laravelcollective/html": "^5.4"

Khi thấy nó đã hiển thị trong file, ta sẽ chạy thêm câu lệnh này nữa:

composer update

Vậy là cài xong rồi, giờ ta tiến hành gán vào Laravel như sau, mở file config/app.php

Thêm dòng này tại providers:

Collective\Html\HtmlServiceProvider::class,

Thêm tiếp 2 dòng này tại aliases(ngay bên dưới providers):

'Form' => Collective\Html\FormFacade::class,
'Html' => Collective\Html\HtmlFacade::class,

Và Form Builder & HTML đã được cài đặt xong

Sử dụng cơ bản PHP Laravel 5 Form Builder/HTML

Mình xin ghi gọn luôn vào 1 box này nhé :D, đơn giản dễ hiểu thôi 😀

### Lưu ý, tất cả chỉ dùng trong BLADE VIEW

### Khởi tạo form
// Khởi tạo form theo URL (mặc định là POST)
{!! Form::open(['url' => 'submit']) !!}

// Khởi tạo form GET
{!! Form::open(['url' => 'doGet', 'method' => 'GET']) !!}

// Khởi tạo form theo đường dẫn Route đã được đặt tên
{!! Form::open(['route' => 'namedRoute']) !!}

// Khởi tạo form chỉ tới action của Controller
{!! Form::open(['action' => '[email protected]']) !!}

// Khởi tạo form theo named Route kèm với thông số nào đó (tương tự với Controller)
{!! Form::open(['route' => ['namedRoute', $user->id] ]) !!}

// Khởi tạo form và có upload file
{!! Form::open(['url' => 'submit', 'files' => true]) !!}

// Đóng form
{!! Form::close() !!}

### Tạo các component
// Tạo Label
{!! Form:label('ID label', 'Text hiển thị Label', ['class' => 'nếu có, id tương tự']) !!}

// Tạo textBox
{!! Form::text('name Textbox', 'Dòng test mặc định(nếu có)', ['class' => 'nếu có, id tương tự']) !!}

// Tạo password textBox
{!! Form::password('name textbox', ['class' => 'nếu có, id tương tự']) !!}

// Tạo textbox file
{!! Form::file('name textbox', ['class' => 'nếu có, id tương tự']) !!}

// Tạo checkbox (true là nút này dc chọn)
{!! Form::checkbox('name', 'value', true, ['class' => 'nếu có, id tương tự']) !!}

// Tạo RadioButton (false là nút này ko dc chọn)
{!! Form::radio('name', 'value', false, ['class' => 'nếu có, id tương tự']) !!}

// Tạo drop-down list (select option)
{!! Form::select('size', array('L' => 'Large', 'S' => 'Small'), null, ['class' => 'nếu có, id tương tự']) !!}

// Tạo drop-down list với giá trị mặc định dc chọn (có thể truyền vào array nếu multiSelected)
{!! Form::select('size', array('L' => 'Large', 'S' => 'Small'), 'S', ['class' => 'nếu có, id tương tự']) !!}

// Tạo drop-down list với danh sách dc phân loại
{!! Form::select('animal', array(
    'Cats' => array('leopard' => 'Leopard'),
    'Dogs' => array('spaniel' => 'Spaniel'),
	)) 
!!}

// Tạo button
{!! Form::button('Tên button hiển thị', ['class html nếu có']) !!}

// Tạo button submit
{!! Form::submit('Tên button hiển thị', ['Class html nếu có']) !!}

Lưu ý, generate fải đặt trong {!! !!} để có thể xuất ra dc HTML (Cái {{ }} chỉ có thể xuất chữ, nếu xuất HTML nó sẽ convert và xuất ra text chứ ko ra HTML để chèn vào)

Đây là bài phụ mình cần save, các bạn có thể tham khảo nhé 😀

Tất cả bài hướng dẫn Laravel tại: http://sethphat.com/sp-category/lap-trinh/laravel-5-php

Cám ơn các bạn đã quan tâm 😀

facebook
Seth Phát

Seth Phát

Mình là Phát - biệt danh Seth Phát. Hiện đang là một Sr. Full-Stack Engineer. Mình là một người yêu thích và đam mê lập trình và hiện tại đang theo về phần Web là chủ yếu. Mạnh Back-end và khá Front-end, vẫn đang theo đều cả 2 :v. Còn gì bằng khi được làm những thứ mà mình yêu thích, đam mê ;)

One thought on “PHP Laravel 5 Form Builder/HTML cài đặt, cơ bản

Comments are closed.

Bình luận qua Facebook