Laravel hiện nay là một trong những PHP Framework phổ biến và nổi tiếng nhất trên toàn thế giới. Hệ thống Laravel ngày càng được phát triển mạnh mẽ và trở thành công cụ quan trọng trong việc phát triển các dự án web, dù là quy mô lớn hay nhỏ. Chúng ta hãy cùng khám phá thêm về Framework này qua bài viết từ blog!
Laravel là gì?
Laravel là một PHP Web Framework mã nguồn mở và miễn phí, được sáng tạo bởi Taylor Otwell, với mục tiêu phát triển ứng dụng web theo mô hình kiến trúc MVC và dựa trên Symfony PHP Framework. Laravel được trang bị nhiều tính năng mạnh mẽ, bao gồm khả năng sử dụng hệ thống đóng gói module, quản lý gói phần mềm (bằng Composer), hỗ trợ cho nhiều hệ quản trị cơ sở dữ liệu quan hệ như MySQL, MariaDB, SQLite, PostgreSQL, và nhiều tiện ích khác để giúp bạn triển khai và duy trì ứng dụng một cách dễ dàng và hiệu quả.
Mã nguồn của Laravel được lưu trữ trên GitHub và được cấp phép theo các điều khoản của Giấy phép MIT.
- Developer(s): Taylor Otwell
- Phát hành lần đầu: 06/2011
- Phiên bản hiện tại: 8.16.1 (2020-11-25)
- Repository: Laravel Repository
- Ngôn ngữ lập trình: PHP
- Thể loại: Web framework
- License: MIT License
- Website: laravel.com
Ưu điểm của Laravel PHP Framework
Dưới đây là 10 ưu điểm của Laravel so với các framework khác
- Sử dụng các tính năng (feature) mới nhất của PHP
- Sử dụng mô hình MVC (Model – View – Controller)
- Hệ thống xác thực (Authentication) và ủy quyền (Authorization) tuyệt vời
- Có hệ thống tài liệu chi tiết, dễ hiểu
- Cộng đồng hỗ trợ đông đảo
- Tích hợp công cụ Artisan – Công cụ quản lý dòng lệnh
- Sử dụng composer để quản lý PHP package
- Sử dụng npm để quản lý các gói Javascript, giao diện
- Hỗ trợ Eloquent ORM, Query Builder, Template Engine (Blade)
- Hỗ trợ routing mềm dẻo
Mô hình MVC (Model – View – Controller) của Laravel
Laravel được phát triển từ Symfony Framework nên nó kế thừa mô hình MVC của Symfony, tương tự như các PHP Framework khác. Dưới đây là mô hình đầy đủ của Laravel:
Thành phần | Mô tả |
Model | Gồm những Class, tạo ra các table của Database, nơi mà Eloquent ORM thao tác với CSDL |
View | Chứa các template được thiết kế ra và được xử lý để output ra mã html/css cho trang web |
Controller | Chứa các class, function để xử lý các request từ người dùng |
Cấu trúc thư mục của Laravel
Dưới đây là cấu trúc thư mục của Laravel
Thành phần | Mô tả |
app | Nó là thư mục ứng dụng và bao gồm toàn bộ mã nguồn của dự án. Nó chứa các sự kiện (Event), ngoại lệ (Exception) và khai báo Middeware.Trong App lại chứa các thành phần con sau:
|
bootstrap | Thư mục bootstrap chứa tệp app.php khởi động khung. Thư mục này cũng chứa một thư mục bộ đệm chứa các tệp được tạo khung để tối ưu hóa hiệu suất, chẳng hạn như tệp bộ đệm của tuyến đường và dịch vụ. Bạn thường không cần phải sửa đổi bất kỳ tệp nào trong thư mục này. |
config | Thư mục này chứa tất cả cấu hình (config) của hệ thống của bạn. Nó chứa sẵn các thông tin mặc định như cấu hình database, cache, … |
database | Thư mục này chứa các thông tin về database migration, seeders |
public | Thư mục public chứa file index.php, là nơi nhận tất cả các request tới ứng dụng. Thư mục này cũng chứa các nội dung của bạn như hình ảnh, JavaScript và CSS. |
resources | Thư mục tài nguyên chứa các view template của bạn cũng như các nội dung thô (raw), chưa được biên dịch của bạn như CSS hoặc JavaScript. Thư mục này cũng chứa tất cả các tệp ngôn ngữ của bạn. |
routes | Thư mục routes chứa tất cả các định nghĩa routing cho ứng dụng của bạn. Mặc định, một số router đươc định nghĩa sẵn bao gồm: web.php, api.php, console.php và channel.php. |
storage | Thư mục storage chứa các thông tin về log, các views blade đã biên dịch, các file session, file cache và các file khác được tạo bởi framework. |
tests | Thư mục tests chứa các kiểm tra tự động (Automated Tests). Các mẫu PHPUnit |
vendor | Thư mục vendor chứa các thư viện PHP phụ thuộc được quản lý bởi Composer |