2020.06.12

Những điều cần biết về Laravel

laravel1

Hôm nay, mời các bạn cùng MarketEnterprise Vietnam (MEVN) học về Laravel nhé!

Giới thiệu Laravel

Laravel là một PHP framework, có mã nguồn mở và miễn phí, được xây dựng nhằm hỗ trợ phát triển các phần mềm, ứng dụng, theo kiến trúc MVC. Được tạo ra bởi Taylor Otwell với phiên bản đầu tiên được ra mắt vào tháng 6 năm 2011.

Cái tên Laravel xuất phát từ Cair Paravel là một tòa lâu đài của Narnia, một thế giới tưởng tượng trong cuốn tiểu thuyết nổi tiếng “Biên niên sử Narnia” (The Chronicles of Narnia) đã được dựng thành phim. Laravel là cách đọc lái của Paravel. Và Taylor Otwell  nghĩ nó sành điệu và sang trọng.

Quả đúng, Laravel có cú pháp đơn giản dễ học, dễ đọc và rất thanh lịch,  cũng như giúp người dùng không phải bận tâm tới các điều nhỏ nhặt.

Hiện nay Laravel đã là PHP framework số một và giữ vững được vị trí đó từ 2014 cho đến nay.

Một trong những lý do khiến Laravel được biết đến và sử dụng rộng rãi là nhờ vào nguồn tài liệu, tại trang chủ của Laravel thì tài liệu hướng dẫn cũng rất chi tiết cho từng phiên bản và dễ tìm kiếm, được hệ thống cho người lập trình viên, cũng như người mới học dễ dàng tiếp cận và tìm hiểu. Với sự hỗ trợ mạnh mẽ của cộng đồng thì khi có bất kỳ vấn đề nào cần giải quyết bạn chỉ cần lên Google hoặc vào trong diễn đàn thần thánh Stackoverflow, bạn sẽ được hỗ trợ rất nhiệt tình từ cộng đồng.

Laravel thay đổi tích cực trong các phiên bản và có những gói thư viện tốt nhất được tích hợp vào. Hệ sinh thái xung quanh Laravel cũng toàn những sản phẩm tốt nhất trong lĩnh vực của nó.

Đây là một framework tuyệt vời đối với lập trình viên có kinh nghiệm và cả những bạn mới bắt đầu tập tành, bạn không cần phải biết nhiều về PHP nhưng vẫn có thể học và làm việc trên Laravel mà không gặp quá nhiều khó khăn.

Những điều cần biết về Laravel

Laravel Artisan

Artisan là giao diện command-line có sẵn trong laravel. Nó cung cấp một lượng lớn câu lệnh commands hỗ trợ chúng ta khi đang xây dựng ứng dụng.

Như đã nói đến ở trong câu triết lý của Laravel có câu “We’ve already laid the foundation — freeing you to create without sweating the small things.” tạm dịch “chúng tôi xây dựng nền tảng để giúp kiến tạo mà không cần bận tâm đến những thứ nhỏ nhặt”.

Bạn có thể tạo ra file để thực hiện nhiệm vụ migration, model, seeder, controller với việc gõ lệnh command line trong dự án Laravel, không những tạo ra các file đó mà còn giúp bạn setup code cơ bản giúp giảm thiểu thời gian và tập trung vào việc viết những chức năng cho chương trình.


VD: Tạo controller bằng cmd php artisan make:controller UserController


Artisan giúp bạn giảm thiểu thời gian viết code cũng như tự động hoá một số công việc. Bạn sử dụng câu lệnh php artisan list để xem danh sách các câu lệnh hỗ trợ.

Mô hình MVC

Laravel được xây dựng và phát triển theo mô hình MVC (Model-View-Controller) nhờ đó mà cấu trúc và cách tổ chức code trong project được sắp xếp một cách hợp lý dễ dàng cho việc bảo trì cũng như phát triển về lâu dài.

laravel10



Sau khi Client truy cập vào link thì router sẽ phải điều hướng qua Middleware để kiểm tra Request đó có đủ điều kiện truy cập vào Controller hay không. Nếu đủ thì Controller sẽ xử lý request đó và lấy dữ liệu từ Model, Model sẽ lấy dữ liệu từ Database và xử lý nó trước khi trả lại cho Controller, Controller sau khi nhận được dữ liệu thì đưa cho View đổ dữ liệu xuống template, sau đó render ra HTML hoặc JSON rồi trả Response cho Client. Đây là mô hình hoạt động MVC, được chia ra rõ ràng, mỗi bộ phận xử lý một nhiệm vụ nên coder chỉ việc xây dựng chức năng cho mỗi giai đoạn đó nên sản phẩm làm ra rất dễ bảo trì và nâng cấp.

Blade template

Laravel hỗ trợ chia nhỏ từng phần của template ra, ví dụ: 1 template sẽ có bố cục các phần như header, body, footer, aside, menu navbar bạn có thể chia mỗi phần của template ra từng file riêng (file template đó có đuôi .blade.php) cho dễ quản lý, bảo trì rồi gắn vào trong layout master.


Laravel cũng cung cấp cú pháp đơn giản cho việc đổ dữ liệu xuống template mà không bị rối mắt như sử dụng cặp thẻ <?php ?> thông thường:


Sử dụng Laravel

Eloquent ORM

Eloquent ORM đi kèm với Laravel cung cấp một API ActiveRecord đơn giản và tiện lợi cho việc giao tiếp với database. Mỗi database table sẽ có một “Model” tương ứng để tương tác với table đó. Model cho phép tương tác với dữ liệu trong table, liên kết các bảng dữ liệu (relationship database). với cú pháp đơn giản dễ hiểu và được hệ thống, nên dễ bảo trì code và cũng dễ học đối với các bạn mới.

Middleware

Middleware nằm giữa các request và response. Nó nằm giữa router và controller. middleware có nhiệm vụ lọc request có đủ điều kiện cho phép tiếp tục thực hiện các hàm trong controller.

Laravel cung cấp một cú pháp tùy biến và dễ sử dụng giúp lập trình viên dễ dàng sử dụng cũng như chỉnh sửa sao cho thích hợp với dự án.


Đăng ký một router và nhờ middleware xem xét điều kiện, nếu thoả  kiện sẽ đi đến hàm trong controller.

Tạo ra một file middleware php bằng lệnh cmd:

Để xét điều kiện của request trước khi thực hiện hàm trong controller


Để middleware hoạt động chúng ta còn một bước đăng ký Middleware trong file app/Http/Kernel.php và trong thuộc tính $routeMiddleware. Trong thuộc tính này đã chứa một số class middleware mặc định

Tóm lại

Laravel là framework PHP dễ học cho người mới nhưng cũng rất mạnh mẽ để dùng cho các dự án lớn.

Mình cũng là người bắt đầu học Laravel mà chưa biết gì về PHP (đúng hơn là chưa biết gì về lập trình backend), nói vậy đủ biết Laravel dễ sử dụng và được hệ thống dễ hiểu kể cả các bạn mới bắt đầu cũng có thể dễ dàng tiếp cận làm dự án. Và như một lẽ dĩ nhiên của đời thường, “cái gì không biết thì lên Google” nơi mọi thắc mắc hay gặp Bug cũng sẽ nhanh chóng tìm ra cách giải quyết. Hy vọng bài viết này có ích cho các bạn mới học về Laravel và cảm ơn các bạn đã đọc tới câu chữ cuối cùng.

0 Comments
Inline Feedbacks
View all comments