Danh sách Tutorial

Laravel là gì? Tổng quan về Laravel PHP Framework


Laravel hiện là PHP Framework phổ biến hàng đầu trên thế giới. Laravel càng ngày càng phát triển và được sử dụng vào nhiều dự án Web lớn nhỏ. Hãy cùng VinaSupport.com tìm hiểu về Framework này nhé!

Laravel là gì?

Laravel là PHP Web Framework miễn phí, mã nguồn mở, được tạo bởi Taylor Otwell và dành cho việc phát triển các ứng dụng web theo mô hình kiến trúc mô hình MVC và dựa trên Symfony PHP Framework. Một số tính năng của Laravel như là sử dụng hệ thống đóng gói module, quản lý package (Composer), hỗ trợ nhiều hệ quản trị CSDL quan hệ (MySQL, MariaDB, SQLite, PostgreSQL,…), các tiện ích hỗ trợ triển khai và bảo trì ứng dụng.

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

  1. Sử dụng các tính năng (feature) mới nhất của PHP
  2. Sử dụng mô hình MVC (Model – View – Controller)
  3. Hệ thống xác thực (Authentication) và ủy quyền (Authorization) tuyệt vời
  4. Có hệ thống tài liệu chi tiết, dễ hiểu
  5. Cộng đồng hỗ trợ đông đảo
  6. Tích hợp công cụ Artisan – Công cụ quản lý dòng lệnh
  7. Sử dụng composer để quản lý PHP package
  8. Sử dụng npm để quản lý các gói Javascript, giao diện
  9. Hỗ trợ Eloquent ORM, Query Builder, Template Engine (Blade)
  10. 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:

  • Console: Nơi bạn định nghĩa ra các lệnh của Laravel.
  • Exceptions: Thư mục này chứa tất cả các phương thức cần thiết để xử lý các ngoại lệ. Nó cũng chứa tệp handle.php xử lý tất cả các trường hợp ngoại lệ.
  • Http: Thư mục Http này chứa các thư mục con controllers, middleware. Vì Laravel tuân theo mô hình MVC nên thư mục này chứa các xử lý để xử lý request của người dùng.
  • Models: Chứa các Class định nghĩa các thành phần để thao tác với CSDL
  • Providers: Chứa tất cả các Service Provider. Khởi đọng ứng dụng một cách bắt buộc, đăng ký sự kiện hoặc thực hiện bất kỳ tác vụ nào khác để chuẩn bị ứng dụng của bạn khi các yêu cầu đến.
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

Nguồn: vinasupport.com

SHARE

mode_edit Bình luận của bạn

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

account_circle
web