Trong chuỗi series hướng dẫn học Laravel thì Views cũng quan trọng không kém gì so với Controller hay Model. Vậy chúng ta sẽ làm thế nào để sử dụng Views một cách hiệu quả đây? Hãy đọc bài viết mà Quách Quỳnh sắp chia sẻ dưới đây nhé!
Views Laravel nằm ở đâu?
Nó sẽ nằm ở thư mục C:xampphtdocsblogresourcesviews
. Tại đây các tập tin sẽ có đuôi mở rộng là .blade.php.
Và các ngôn ngữ được hỗ trợ bao gồm HTML, CSS, JavaScript và PHP.
Để hiểu rõ bạn sẽ tạo ra một tập tin là test.blade.php
với nội dung
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Bài tập về Views</title> </head> <body> <h2>Chào các bạn nhé!</h2> </body> </html>
Làm thế nào để chạy file này?
Để chạy được tập tin này bạn cần phải tạo ra một Controller
<?php namespace AppHttpControllers; use IlluminateHttpRequest; class BlogController extends Controller { public function index() { return view('test'); } }
Tiếp theo viết lệnh trong route tại web.php
Route::get('/test', 'AppHttpControllers[email protected]');
Và gõ lênh trình duyệt địa chỉ localhost/thu_muc_laravel/test
.
Làm thế nào để truyền dữ liệu vào Views?
Giả sử như bạn muốn hiển thị danh sách bài viết từ cơ sở dữ liệu ra Database thì lúc này cần phải truyền dữ liệu cho từ Controller cho Views.
Sử dụng with
Bước 1: Thêm đoạn mã này vào trong file test.blade.php nằm trong cặp thẻ <body>…</body>
@foreach ($datas as $data) {{ $data->id }} @endforeach
Bước 2: Tiếp theo tại BlogController.php sẽ viết lại
public function index(){ $data = "Dữ liệu"; return view('home')->with('datas', $data); }
Giải thích:
- datas: đây chính là đường dẫn tới Views
- $data: dữ liệu lấy từ Model để truyền vào Views
Sử dụng compact
Dùng compact trong Laravel đoạn code sẽ trở nên gọn gàng hơn.
$data = "Dữ liệu"; return view('test', compact('datas'));
Để thực sự hiểu được thì bạn cần phải tạo ra các tập tin và chạy được nó đã. Sau khi thực hành nhiều bạn sẽ dần hiểu ra được các lệnh và sử dụng thuần thục. Thông qua bài viết về Views trong Laravel bạn đã bổ sung một chút kiến thức giúp nâng cao Level của mình lênh rồi đấy. Chúc học tốt nhé!