Bài 7 : Mô hình MVC trong Laravel 5

Trong bài hướng dẫn sử dụng Eloquent trong Laravel 5, các bạn đã có kiến thức cơ bản về cách mà Eloquent trong Laravel 5 hoạt động rồi đúng không nào. Bài viết hôm nay mình sẽ hướng dẫn các bạn cách hoạt động của mô hình MVC trong Laravel 5. Bạn nào chưa nắm được mô hình MVC là gì thì có thể tham khảo bài này nhé : Tìm hiểu về mô hình MVC trong PHP

Mô hình MVC trong Laravel 5

Trước tiên bắt đầu vào tìm hiểu cách dữ liệu được chuyển đi theo mô hình MVC trong Laravel 5, chúng ta cần insert vài dòng dữ liệu vào bảng articles đã được tạo ra trong bài trước.
Mở cmd, di chuyển đến thư mục Laravel-5
Sử dụng php artisan tinker để thêm record mới. Gõ
để vào chương trình, tiếp đến gõ lần lượt như sau để thêm 1 record mới vào db
Chạy xong các lệnh trên, lúc này bảng articles đã có thêm 1 record mới. Để thêm dòng dữ liệu thứ 2, bạn vẫn cứ tiếp tục làm theo trình tự như trên. Sau khi đã hoàn tất thêm các dòng dữ liệu mẫu vào database, chúng ta đi tới bước kế tiếp.

1. Tạo route

Tại đây, mình sẽ tạo một route mới để sử dụng xuyên suốt bài viết. Mở file routes.php, thêm route  mới, gọi tới phương thức index() trong controller Articles như sau:

2. Tạo Controller

Ở route trên, chúng ta sử dụng ArticlesControler, vì vậy mình tiếp tục tạo một controller mới là ArticlesController.php bằng cách sử dụng php artisan.
Chạy lệnh trên, 1 file ArticlesController.php đã được tạo ra trong thư mục Http có nội dung như sau :
Trong file này mình thêm 1 phương thức mới là index(), trong phương thức này mình sẽ gọi tới file model Articles.php mà chúng ta đã tạo ở bài trước
Các bạn lưu ý là để có thể sử dụng được phương thức index() trên thì các bạn cần phải import class Articles vào, mình sẽ thêm đoạn này ở trên đầu file ArticlesController.php
Lúc này toàn bộ nội dung ArticlesController.php sẽ như sau:
Giờ thì các bạn vào trình duyệt chạy đường dẫn sau:
các bạn sẽ thấy dữ liệu trả về dưới dạng json như sau :
Bây giờ mình sẽ sửa lại function index() một chút để gọi view articles, và truyền dữ liệu $articles như sau:

3. Tạo view

Sau khi đã tạo controller, tiếp đến mình sẽ tạo một view mới articles.blade.php, file này sẽ lấy dữ liệu $articles được truyền ra từ controller ArticlesController.php và hiển thị danh sách bài viết article.
Ở đoạn code trên, vòng lặp foreach sẽ duyệt danh sách bài viết được chứa trong biến $articles và gọi ra từng bài viết $article, mỗi bài viết chúng ta sẽ hiển thị dữ liệu ra ngoài là name, author có trong db.
Lưu lại file view trên và chạy lại đường dẫn
bạn sẽ thấy kết quả hiển thị như sau :
Tổng kết : như vậy là các bạn đã biết cách dữ liệu được truyền đi theo mô hình MVC trong Laravel 5 như thế nào rồi phải không nào ? Bài viết của mình nêu lên một cách tổng quát để các bạn hiểu được nền tảng mô hình MVC trong Laravel 5, từ đó các bạn có thể mở rộng ra tùy thuộc theo yêu cầu thực tế của dự án. Chúc các bạn học tốt.

Comments

Popular Posts