Hướng dẫn dùng laravel view trong PHP

Trong bài này chúng ta sẽ tìm hiểu đến View, một thành phần khá quan trọng trong mô hình MVC. Nhiệm vụ của View là nhận dữ liệu từ Controller và sau đó dựa vào layout của giao diện nó sẽ xử lý dữ liệu theo yêu cầu. Cũng như các Framework khác chúng ta vẫn có các khái niệm như cách tạo view, cách truyền biến qua view và quy tắc tạo view, chi tiết thế nào thì chúng ta cùng tìm hiểu nhé.

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

1. Tạo file view trong laravel

Trong laravel, mặc định tất cả các file view sẽ được lưu trong thư mục app/views với đuôi file là .php hoặc .blade.php nếu bạn sử dụng blade-template [khuyên dùng], việc tạo thì 2 loại file này tương tự nhau, bạn chỉ việc tạo file mới trong thư mục app/views là được. Ví dụ bạn vào thư mục app/views tạo file freetuts.blade.phpbasic.php thì bạn sẽ được 2 view là freetuts và basic. Nội dung trong file view thì có thể là bất cứ gì như code javascript, jquery, html, css, php, ...

Như các bạn thấy, cho dù đuôi file - phần mở rộng cho dù khác nhau nhưng cũng là view tương tự nhau, việc gọi view cũng tương tự, chỉ khác việc sử dụng trong view mà thôi [sẽ nói ở dưới].

Tạo sub-view trong laravel

Để tạo sub-view trong laravel rất đơn giản, bạn chỉ việc tạo thư mục con và tạo file view trong đó. Ví dụ bạn muốn tạo sub-view login của trong thư mục auth thì làm theo bước sau:

Bài viết này được đăng tại [free tuts .net]

Bước 1: tạo thư mục auth trong thư mục app/views

Bước 2: tạo file view login.php trong thư mục auth đã tạo

Vậy là bạn có sub-view rồi đấy! Ở bài sau mình sẽ giới thiệu về template .blade.php

2. Gọi view trong laravel

Để gọi view trong laravel ta dùng cú pháp sau:

View::make[$view, $data = array[], $mergeData = array[]];

Trong đó:

  • $view là tên view mà bạn đã tạo
  • $data là mảng dữ liệu bạn truyền cho view thao tác để hiển thị
  • $mergeData là mảng dữ liệu sẽ được merge với $data bằng hàm array_merge
  • $view là bắt buộc, còn 2 tham số còn lại là tùy chọn

Nếu bạn muốn gọi sub-view thì sử dụng dấu chấm . để biểu thị cho 1 cấp thư mục. Ví dụ bạn gọi đến sub-view login ở thư mục auth như ví dụ ở trên thì bạn viết như sau:

View::make['auth.login'];

Theo mô hình MVC thì View sẽ được gọi trong Controller nên trong laravel tương tự như vậy, tuy nhiên bạn có thể gọi nó trong route cũng được, cơ mà ai lại làm ngược như thế

.

Sau khi gọi view bạn cũng có thể gán vào biến hoặc return ngay.

Ví dụ: Ở file app/routes.php bạn thêm như sau:

Route::controller['/views','ViewController'];

Sau đó tạo file ViewController.php ở thư mục app/controllers với nội dung như sau:

Chủ Đề