Tải bản đầy đủ (.doc) (38 trang)

Tìm hiểu về Framework Laravel

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.55 MB, 38 trang )

Tên đề tài: Nghiên cứu Laravel Framework

GVHD: Phạm Thị Trúc Mai

và xây dựng website quản lý bán hàng
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
............................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................


........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
Trà Vinh, ngày ….. tháng …… năm ……
hướng
dẫnnăm ……
Trà Vinh,Giáo
ngày viên
….. tháng
……
(Ký tên vàGiáo
ghi rõviên
họ tên)
hướng dẫn
(Ký tên và ghi rõ họ tên)

SVTH: Nguyễn Minh Thư_110117035

1



Tên đề tài: Nghiên cứu Laravel Framework

GVHD: Phạm Thị Trúc Mai

và xây dựng website quản lý bán hàng

NHẬN XÉT CỦA THÀNH VIÊN HỘI ĐỒNG
............................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................

........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
Trà Vinh, ngày ….. tháng …… năm ……
Thành viên hội đồng
(Ký tên và ghi rõ họ tên)

SVTH: Nguyễn Minh Thư_110117035

2


Tên đề tài: Nghiên cứu Laravel Framework

GVHD: Phạm Thị Trúc Mai


và xây dựng website quản lý bán hàng
LỜI CẢM ƠN
Trong thời gian thực hiện Đồ án chuyên ngành của mình, em đã nhận được rất
nhiều sự giúp đỡ, góp ý của quý Thầy, Cô và người dùng bè.
Em xin được phép gửi lời cảm ơn chân thành và sâu sắc nhất đến Cô Phạm
Thị Trúc Mai - Giảng viên Bộ môn Công nghệ Thông tin, Khoa Kỹ thuật và Công
nghệ, Trường Đại học Trà Vinh là người đã giúp đỡ và chỉ bảo tận tình để em có thể
hồn thiện tốt nhất đồ án của mình.
Em cũng xin được phép gửi lời cảm ơn đến quý Thầy, Cô trong Bộ môn Công
nghệ Thông tin, Khoa Kỹ thuật và Công nghệ, Trường Đại học Trà Vinh đã dạy dỗ
em trong suốt ba năm học vừa qua giúp em nắm được những kiến thức về chuyên
ngành để có thể trang bị cơ sở lý thuyết vững vàng khi thực hiện đồ án.
Một lần nữa em xin chân thành cảm ơn!
Trà Vinh, ngày ... tháng…năm 2020
SV thực hiện

Nguyễn Minh Thư

SVTH: Nguyễn Minh Thư_110117035

3


Tên đề tài: Nghiên cứu Laravel Framework

GVHD: Phạm Thị Trúc Mai

và xây dựng website quản lý bán hàng
MỤC LỤC

CHƯƠNG 1: TỔNG QUAN.................................................................................................11
Giới thiệu Laravel Framework........................................................................................11
Ưu điểm:......................................................................................................................11
Nhược điểm:................................................................................................................11
CHƯƠNG 2: TÌM HIỂU LARAVEL FRAMEWORK..................................................13
2.1 Khái niệm Laravel Framework.................................................................................13
2.1.1 Lịch sử phát triển Laravel Framework................................................................14
2.1.2 Các tính năng của Laravel Framework...............................................................15
2.1.3 Ứng dụng của Laravel Framework.....................................................................16
2.2 So sánh giữa Laravel Framework và Zend Framework........................................17
2.2 Cài đặt Composer........................................................................................................18
2.3 Cài đặt Laravel.............................................................................................................22
2.4 Cấu trúc thư mục Laravel cơ bản:............................................................................23
2.5.1 Các thành phần mơ hình MVC............................................................................24
2.5.2 Luồng đi trong mơ hình MVC............................................................................26
2.5.3 Ưu - nhược điểm của MVC.................................................................................26
2.6 Ứng dụng mơ hình MVC vào lập trình..............................................................27
CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ DỮ LIỆU...................................................29
3.1 Đặc tả u cầu bài tốn...............................................................................................29
3.2 u cầu chức năng:......................................................................................................29
3.3 Mơ hình quan niêm dữ liệu........................................................................................30
3.4 Mơ hình dữ liệu mức logic..........................................................................................30
3.5 Mô tả chi tiết các thực thể..........................................................................................31
3.5.1 Bảng QUANTRIVIEN........................................................................................31
3.5.2 Bảng LOAISANPHAM......................................................................................31
3.5.3 Bảng KHACHHANG..........................................................................................31
3.5.4 Bảng HOADON..................................................................................................32
3.5.5 Bảng SANPHAM................................................................................................33
3.6 Ràng buộc dữ liệu........................................................................................................33
3.6.1 Ràng buộc về số tiền sản phẩm:..........................................................................33

3.6.2 Ràng buộc về số điện thoại:................................................................................33
CHƯƠNG 4: ĐÁNH GIÁ KẾT QUẢ.................................................................................34
CHƯƠNG 5: KẾT LUẬN.....................................................................................................35
SVTH: Nguyễn Minh Thư_110117035

4


Tên đề tài: Nghiên cứu Laravel Framework

GVHD: Phạm Thị Trúc Mai

và xây dựng website quản lý bán hàng
CHƯƠNG 6: HƯỚNG PHÁT TRIỂN................................................................................36
DANH MỤC TÀI LIỆU THAM KHẢO.............................................................................37

SVTH: Nguyễn Minh Thư_110117035

5


Tên đề tài: Nghiên cứu Laravel Framework

GVHD: Phạm Thị Trúc Mai

và xây dựng website quản lý bán hàng
DANH MỤC HÌNH ẢNH – BẢNG BIỂU

SVTH: Nguyễn Minh Thư_110117035


6


Tên đề tài: Nghiên cứu Laravel Framework

GVHD: Phạm Thị Trúc Mai

và xây dựng website quản lý bán hàng
DANH MỤC TỪ VIẾT TẮT
STT

TỪ VIẾT TẮT

TỪ ĐẦY DỦ

1

MVC

Model – View – Controller

2

HTML

Hypertext Markup Language

3

CSS


Cascading Style Sheet

4

PHP

Personal Home Page

5

IoC

Inversion of control

6

ORM

Object Relational Mapping

7

URL

Uniform Resource Locator

8

MIT


Massachusetts Institute of Technology

9

API

Application Programming Interface

10

B2B

Business To Business

11

BSD

Berkeley Software Distribution

SVTH: Nguyễn Minh Thư_110117035

7


Tên đề tài: Nghiên cứu Laravel Framework

GVHD: Phạm Thị Trúc Mai


và xây dựng website quản lý bán hàng
TÓM TẮT ĐỒ ÁN CHUYÊN NGÀNH
Nội dung đề tài:
Lĩnh vực kinh doanh bán hàng trực tuyến ngày nay đã khơng cịn xa lạ trong
cuộc sống của chúng ta, đặc biệt trong thời đại công nghệ thông tin không ngừng
phát triển.
Vận dụng những kiến thức sau quá trình học tập, nghiên cứu tại trường với
mong muốn hỗ trợ một phần cho các cửa hàng kinh doanh, tôi đề xuất đề tài
“Nghiên cứu Laravel Framework và xây dựng website bán hàng”. Xây dựng
website bán hàng trực tuyến nhằm đáp ứng các yêu cầu phục vụ các chức năng cơ
bản về bán hàng như: quản lý thông tin sản phẩm, quản lý khách hàng, quản lý đơn
hàng,...
Bên cạnh đó tập trung nghiên cứu và xây dựng website trên nền tảng Laravel
Framework góp phần tạo sự thuận lợi trong việc tổ chức mã nguồn và mở rộng các
chức năng cho dự án thơng qua mơ hình MVC kết hợp với các ngôn ngữ, thư viện,
công nghệ hỗ trợ web như: JavaScript, CSS, Bootstrap,...
Yêu cầu:
− Cần có kiến thức cơ bản về Laravel Framework, HTML, CSS và JavaScript,
jQuery, PHP, Bootstrap,...
− Tìm hiểu về thương mại điện tử .
− Tìm hiểu mơ hình MVC và Laravel Framework .
− Trình bày cụ thể các bước cài đặt và sử dụng Laravel Framework trong phát
triển một ứng dụng web hoàn chỉnh.
Phương pháp thực hiện:
Về phân tích thiết kế dữ liệu:
− Xác định và tìm hiểu bài tốn/chủ đề cần xây dựng website.
− Phân tích hệ thống.

− Xây dựng cơ sở dữ liệu.
Về xây dựng chương trình:

− Xây dựng website cho phép:
+ Đăng nhập, phân quyền quản trị, khách hàng.
+ Hiển thị dữ liệu theo phân quyền.

SVTH: Nguyễn Minh Thư_110117035

8


Tên đề tài: Nghiên cứu Laravel Framework

GVHD: Phạm Thị Trúc Mai

và xây dựng website quản lý bán hàng
+ Thêm, xóa, sửa sản phẩm theo phân quyền.
+ Xây dựng giỏ hàng, quản lý đơn hàng, hóa đơn, sản phẩm.
− Giao diện thân thiện, dễ sử dụng, tương thích với các thiết bị di động.
− Màu sắc hài hòa, tuân thủ các quy định về phối màu cho web.
− Cấu hình tên miền ảo.
Kết quả đạt được:
− Hiểu rõ thương mại điện tử, mơ hình MVC và Laravel Framework.
− Ứng dụng Laravel Framework để phát triển một website quản lý bán hàng
hoàn chỉnh.
− Rèn luyện khả năng làm việc độc lập.
− Rèn luyện khả năng viết báo cáo khoa học.

SVTH: Nguyễn Minh Thư_110117035

9



Tên đề tài: Nghiên cứu Laravel Framework

GVHD: Phạm Thị Trúc Mai

và xây dựng website quản lý bán hàng
MỞ ĐẦU
Lý do chọn đề tài:
Trong xã hội hiện đại, công nghệ thông tin được ứng dụng trong mọi lĩnh vực
của đời sống - từ sản xuất, kinh doanh đến giáo dục, y tế, văn hóa... Nhất là trong
lĩnh vực quản lý, việc áp dụng công nghệ thông tin không chỉ mang lại sự tiện lợi,
nhanh chóng mà cịn đem lại hiệu quả cao so với quản lý thủ công.
Việc quản lý đối với các công ty, doanh nghiệp hay đơn thuần là chỉ là một cửa
hàng quần áo, giày dép… ngày nay đang dần chuyển sang mua sắm trực tuyến
nhiều hơn nhằm tiết kiệm thời gian. Vì vậy thương mại điện tử càng trở nên quan
trọng và cần thiết. Để xây dựng một website bán hàng hồn chỉnh có thể sử dụng
nhiều ngôn ngữ khác nhau như: Java, ASP, PHP, Laravel Framework,...
Laravel Framework là một thư viện các hàm xây dựng sẵn, chun dùng phục
vụ cho cơng việc lập trình PHP. Việc sử dụng các framework hỗ trợ cơng việc lập
trình nhanh hơn, tiết kiệm thời gian và đảm bảo bảo mật hơn cho hệ thống. Một
PHP Framework thường được xây dựng trên mơ hình MVC. Đối với các nhà phát
triển muốn xây dựng B2B hoặc các trang web doanh nghiệp sẽ phát triển cùng với
việc thay đổi xu hướng web, thì Laravel là lựa chọn thích hợp nhất.
Chính vì vậy tơi quyết định chọn đề tài “Nghiên cứu Laravel Framework và
xây dựng website bán hàng”.
Phạm vi đề tài:
 Đề tài thực hiện giải quyết các vấn đề bán hàng trực tuyến, quản lý khách
hàng, quản lý sản phẩm, quản lý đơn hàng cho cửa hàng nhỏ.
 Ứng dụng của đề tài được thực hiện nhằm phục vụ trong lĩnh vực kinh
doanh, nhằm tạo điều kiện cho người quản lý dễ dàng quản lý, thống kê và tìm kiếm

thơng tin khách hàng một cách nhanh chóng và hiệu quả.
Mục tiêu của đề tài:
 Đây là website nhằm bán và giới thiệu rộng rãi các sản phẩm hỗ trợ dưỡng
tóc đến người tiêu dùng với các chi tiết sản phẩm và giá cả một cách nhanh chóng
và chính xác nhất.
 Giúp cho khách hàng: tìm kiếm và lựa chọn từ xa sản phẩm mình cần, đặt
mua hàng nhanh gọn và thuận tiện.
SVTH: Nguyễn Minh Thư_110117035

10


Tên đề tài: Nghiên cứu Laravel Framework

GVHD: Phạm Thị Trúc Mai

và xây dựng website quản lý bán hàng
 Giúp chủ cửa hàng: quản lý các sản phẩm một cách dễ dàng, kiểm tra và xử
lý đơn đặt hàng, thống kê đơn hàng nhanh chóng.

SVTH: Nguyễn Minh Thư_110117035

11


Tên đề tài: Nghiên cứu Laravel Framework

GVHD: Phạm Thị Trúc Mai

và xây dựng website quản lý bán hàng


CHƯƠNG 1 : TỔNG QUAN
Giới thiệu Laravel Framework
Laravel được ra mắt vào năm 2011, nó đã trở thành PHP Framework phổ biến
nhất trên thế giới. Laravel có thể xử lý các ứng dụng web phức tạp một cách an
toàn, với tốc độ nhanh hơn đáng kể so với các Framework khác. Laravel đơn giản
hóa q trình phát triển bằng cách giảm bớt các tác vụ phổ biến như routing,
sessions, caching, and authentication..
Ưu điểm:


Sử dụng các tính năng mới nhất của PHP.



Tích hợp với dịch vụ mail.



Hỗ trợ phần phụ trợ bộ nhớ đệm phổ biến.



Cơng cụ tích hợp cho dịng lệnh – Artisan.



Giảm chu kỳ phát triển sản phẩm.

− Container IoC: Còn được gọi là Inversion of Control, đây là một


phương thức để tạo các đối tượng mới mà không phải khởi động
bất kỳ thư viện bên ngồi nào. Nói cách khác, bạn có thể truy cập
các đối tượng này từ bất cứ nơi nào bạn đang mã hóa, bạn sẽ
khơng cịn gặp khó khăn với các cấu trúc ngun khối khơng linh
hoạt.
− Reverse Routing: Đây là một tính năng rất hữu ích trong

framwork, bạn có thể tạo liên kết đến các route được đặt tên. Vì
vậy, khi tạo các liên kết, bạn chỉ cần sử dụng tên của bộ định
tuyến, Framework sẽ tự động chèn URL chính xác. Nếu bạn cần
thay đổi các route trong tương lai, những thay đổi sẽ tự động
được thực hiện ở mọi nơi.
− Eloquent ORM: Các mô hình lập trình viên tạo trong MVC sẽ có

một bảng tương ứng trong cơ sở dữ liệu. ORM có các mối quan
hệ, nếu lập trình viên thao tác một bảng trong cơ sở dữ liệu, lập
trình viên cũng sẽ quản lý các dữ liệu liên quan.
Nhược điểm:
− Không hỗ trợ tính năng thanh tốn.
SVTH: Nguyễn Minh Thư_110117035

12


Tên đề tài: Nghiên cứu Laravel Framework

GVHD: Phạm Thị Trúc Mai

và xây dựng website quản lý bán hàng

− Thiếu sự liên tục giữa các phiên bản.
− Chất lượng: Một số thành phần trong Framework khơng được thiết kế tốt. Ví

dụ, các tiêm phụ thuộc đôi khi trở nên phức tạp không cần thiết. Các tài liệu khá
nặng. phải học hỏi nhiều trước khi bắt đầu xây dựng các ứng dụng.
− Một số nâng cấp có thể có vấn đề: ứng dụng di động / trang web.
− Thường không cung cấp sự phong phú cho ứng dụng di động.

SVTH: Nguyễn Minh Thư_110117035

13


Tên đề tài: Nghiên cứu Laravel Framework

GVHD: Phạm Thị Trúc Mai

và xây dựng website quản lý bán hàng

CHƯƠNG 2 : TÌM HIỂU LARAVEL FRAMEWORK
2.1 Khái niệm Laravel Framework
Laravel là một PHP Framework mã nguồn mở và miễn phí, được phát triển bởi
Taylor Otwell và nhắm vào mục tiêu hỗ trợ phát triển các ứng dụng web theo kiếm
trúc Model-View-Controller (MVC). Những tính năng nổi bật của Laravel bao gồm
cú pháp dễ hiểu – rõ ràng, một hệ thống đóng gói modular và quản lý gói phụ thuộc,
nhiều cách khác nhau để truy cập vào các cơ sở dữ liệu quan hệ, nhiều tiện ích khác
nhau hỗ trợ việc triển khai vào bảo trì ứng dụng.
Mặc dù Laravel là một PHP Framework tương đối mới theo khảo sát trực tuyến
của Sitepoint vào tháng 08 năm 2013 thì nó là Framework phổ biến nhất mà các nhà
phát triển hay sử dụng. Laravel có một hệ sinh thái rất lớn với một nền tảng giúp

triển khai ứng dụng của người dùng một cách nhanh chóng, và trang web chính thức
của nó cung cấp nhiều hướng dẫn bằng video gọi là Laracasts.

Hình : TÌM HIỂU LARAVEL FRAMEWORK-1: Tỉ lệ khảo sát trực tuyến của
Sitepoint

Laravel có nhiều tính năng giúp cho việc phát triển ứng dụng nhanh chóng
nhất có thể. Laravel sở hữu một cơng cụ tạo khn mẫu có tên là “Blade”.

SVTH: Nguyễn Minh Thư_110117035

14


Tên đề tài: Nghiên cứu Laravel Framework

GVHD: Phạm Thị Trúc Mai

và xây dựng website quản lý bán hàng
2.1.1 Lịch sử phát triển Laravel Framework
Laravel được Taylor Otwell tạo ra như một giải pháp thay thế cho CodeIgniter,
cung cấp nhiều tính năng quan trọng hơn như xác thực và phân quyền.
− Laravel beta đầu tiên được phát hành vào ngày 9/6/2011.
− Laravel 1 phát hành trong cùng tháng. Laravel 1 bao gồm các tính năng như
xác thực, bản địa hóa, model, view, session, định tuyến và các cơ cấu khác, nhưng
vẫn cịn thiếu controller, điều này làm nó chưa thật sự là một MVC Framework
đúng nghĩa.
− Laravel 2 được phát hành vào tháng 9 năm 2011, mang đến nhiều cài tiến từ
tác giả và cộng đồng. Tính năng đáng kể bao gồm hỗ trợ controller, điều này thực sự
biến Laravel 2 thành một MVC Framework hoàn chỉnh, hỗ trợ Inversion of Control

(IoC), hệ thống template Blade. Bên cạnh đó, có một nhược điểm là hỗ trợ cho các
gói của nhà phát triển bên thứ 3 bị gỡ bỏ.
− Laravel 3 được phát hành vào tháng 2 năm 2012, với một tấn tính năng mới
bao gồm giao diện dịng lệnh (CLI) tên “Artisan”, hỗ trợ nhiều hơn cho hệ thống
quản trị cơ sở dữ liệu, chức năng ánh xạ cơ sở dữ liệu Migration, hỗ trợ “bắt sự
kiện” trong ứng dụng, và hệ thống quản lý gói gọi là “Bundles”. Lượng người dùng
và sự phổ biến tăng trưởng mạnh kể từ phiên bản Laravel 3.
− Laravel 4, tên mã “Illuminate”, được phát hành vào tháng 5 năm 2013. Lần
này thực sự là sự lột xác của Laravel Framework, di chuyển và tái cấu trúc các gói
hỗ trợ vào một tập được phân phối thơng qua Composer, một chương trình quản lý
gói thư viện phụ thuộc độc lập của PHP. Bố trí mới như vậy giúp khả năng mở rộng
của Laravel 4 tốt hơn nhiều so với các phiên bản trước. Ra mắt lịch phát hành chính
thức mỗi sáu tháng một phiên bản nâng cấp nhỏ. các tính năng khác trong Laravel 4
bao gồm tạo và thêm dữ liệu mẫu (database seeding), hỗ trợ hàng đợi, các kiểu gởi
mail, và hỗ trợ “xóa mềm” (soft-delete: record bị lọc khỏi các truy vấn từ Eloquent
mà khơng thực sự xóa hẳn khỏi DB).
− Laravel 5 được phát hành trong tháng 2 năm 2015, như một kết quả thay đổi
đáng kể cho việc kết thúc vòng đời nâng cấp Laravel lên 4.3. Bên cạnh một loạt tính
năng mới và các cải tiến như hiện tại, Laravel 5 cũng giới thiệu cấu trúc cây thư
mục nội bộ cho phát triển ứng dụng mới. Những tính năng mới của Laravel 5 bao
gồm hộ trợ lập lịch định kỳ thực hiện nhiệm vụ thơng qua một gói tên là
SVTH: Nguyễn Minh Thư_110117035

15


Tên đề tài: Nghiên cứu Laravel Framework

GVHD: Phạm Thị Trúc Mai


và xây dựng website quản lý bán hàng
“Scheduler”, một lớp trừu tượng gọi là “Flysystem” cho phép điều khiển việc lưu
trữ từ xa đơn giản như lưu trữ trên máy local – dễ thấy nhất là mặc định hỗ trợ dịch
vụ Amazone S3, cải tiến quản lý assets thông qua “Elixir”, cũng như đơn giản hóa
quản lý xác thực với các dịch vụ bên ngồi bằng gói “Socialite”.
− Laravel 5.1 phát hành vào tháng 6 năm 2015, là bản phát hành đầu tiên nhận
được hỗ trợ dài hạng (LTS) với một kết hoạch fix bug lên tới 2 năm vào hỗ trợ vá
lỗi bảo mật lên tới 3 năm. Các bản phát hành LTS của Laravel được lên kế hoạch
theo mỗi 2 năm.
− Laravel 5.3 được phát hành vào ngày 23 tháng 8 năm 2016. Các tính năng
mới trong 5.3 tập trung vào việc cải thiện tốc độ phát triển bằng cách bổ sung thêm
các cải tiến cho các tác vụ phổ biến.
− Laravel 5.4 Phiên bản này có nhiều tính năng mới, như Laravel Dusk, Laravel
Mix, Blade Components và Slots, Markdown Emails, Automatic Facades, Route
Improvements, Higher Order Messaging cho Collections, và nhiều thứ khác.

− Laravel 5.5 phát hành vào ngày 30 tháng 8 năm 2017 là phiên bản LTS thứ 2
(Laravel 5.5 sẽ là phiên bản LTS Release tiếp theo).

− Laravel 5.6 phát hành vào ngày 7 tháng 2 năm 2018.
− Laravel 5.7 phát hành vào ngày 4 tháng 9 năm 2018 với những cập nhật.
− Laravel 6 được phát hành vào ngày 3 tháng 9 năm 2019, tạo mã thay đổi kế hoạch
chi tiết, giới thiệu phiên bản ngữ nghĩa, khả năng tương thích với Laravel Vapor, phản hồi
ủy quyền được cải thiện, phần mềm trung gian công việc được cải thiện, bộ sưu tập lười
biếng và cải tiến truy vấn phụ. Giàn giáo frontend đã được gỡ bỏ khỏi gói chính và chuyển
vào gói laravel / ui.

− Laravel 7 được phát hành vào ngày 3 tháng 3 năm 2020, với các tính năng mới như
Laravel Sanctum, Custom Eloquent Casts, Blade Element Tags, Fluent String Operations
và Route Model Binding.


2.1.2 Các tính năng của Laravel Framework
Những tính năng của Laravel là:
SVTH: Nguyễn Minh Thư_110117035

16


Tên đề tài: Nghiên cứu Laravel Framework

GVHD: Phạm Thị Trúc Mai

và xây dựng website quản lý bán hàng


Composer: khai báo thư viện, nâng cấp, cài đặt thư viện.



Eloquent ORM: thao tác với cú pháp và đơn giản.



Restful API: hỗ trợ biến Laravel thành một web service API.



Artisan: cung cấp các lệnh cần thiết để phát triển ứng dụng.




View: giúp mã nguồn gọn gàng hơn rất nhiều.



Migrations: hỗ trợ tạo các trường trong cơ sở dữ liệu, thêm các cột trong

bảng, tạo mối quan hệ giữa các bảng, hỗ trợ quản lý cơ sở dữ liệu.


Authentication: cung cấp sẵn các tính năng đăng nhập, đăng ký, quên mật

khẩu…


Unit Testing: hỗ trợ kiểm lỗi để sửa chữa.

2.1.3 Ứng dụng của Laravel Framework
Laravel được đánh giá tốt và sử dụng rộng rãi nhất hiện nay. Biểu đồ dưới đây
cho thấy sự tăng trưởng về số lượng sao trên Github của Laravel so với các
Framework khác:

Hình : TÌM HIỂU LARAVEL FRAMEWORK-2: Sự tăng trưởng về số lượng sao
trên Github của Laravel so với các Framework khác

SVTH: Nguyễn Minh Thư_110117035

17



Tên đề tài: Nghiên cứu Laravel Framework

GVHD: Phạm Thị Trúc Mai

và xây dựng website quản lý bán hàng
2.2 So sánh giữa Laravel Framework và Zend Framework

Definition

Usage

Integration

Platform
Requests
Community
License
Response Time

Laravel
Laravel là một Full Stack

Zend
Zend là một PHP

Web Application

Framework dựa trên MVC

Framework (Khung ứng


cho các ứng dụng web duy

dụng web đầy đủ) dựa

trì sự ổn định và khả năng

trên MVC.
Full Stack Web

mở rộng.
MVC Framework dựa trên

Framework dựa trên PHP.
Hỗ trợ tích hợp và sử

PHP.
Nó hỗ trợ bằng cách thêm

dụng cùng với ngôn ngữ

các package sử dụng

PHP.

Package Dependency

Nó hỗ trợ bất kỳ hệ điều

Manager.

Nó hỗ trợ hệ điều hành đa

hành hoặc nền tảng nào.
Xử lý ít request mỗi

nền tảng.
Xử lý ít request mỗi giây

giây so với Lumen.
Cộng đồng lớn.

so với Laravel.
Cộng đồng nhỏ hơn

MIT license.
Thời gian phản hồi cao

Laravel.
New BSD license.
Thời gian phản hồi thấp

hơn Zend.
Chậm hơn Zend.

hơn Laravel.
Zend có tốc độ tốt, ổn

Speed

định và khả năng mở rộng

cao.

Bảng : TÌM HIỂU LARAVEL FRAMEWORK-1: So sánh giữa Laravel Framework
và Zend Framework

SVTH: Nguyễn Minh Thư_110117035

18


Tên đề tài: Nghiên cứu Laravel Framework

GVHD: Phạm Thị Trúc Mai

và xây dựng website quản lý bán hàng
2.3 Cài đặt Composer
Bước 1: Tải file vài đặt composer tại và tiến hành cài đặt.
Bước 2: Nhấp đôi vào tập tin vừa tải về, tiến hành cài đặt composer theo hình bên
dưới (Hình 2-3). Nhấp "Next" để tiến hành cài đặt.

Hình : TÌM HIỂU LARAVEL FRAMEWORK-3: Cài đặt Composer – Bước 1

Bước 3: Giữ mặt định để chọn thư mục cài đặt và tiếp tục nhấp "Next".

Hình : TÌM HIỂU LARAVEL FRAMEWORK-4: Cài đặt Composer – Bước 2
SVTH: Nguyễn Minh Thư_110117035

19



Tên đề tài: Nghiên cứu Laravel Framework

GVHD: Phạm Thị Trúc Mai

và xây dựng website quản lý bán hàng
Bước 4: Chọn khu vực chứa tập tin thức thi của PHP và tiếp tục nhấp "Next".

Hình : TÌM HIỂU LARAVEL FRAMEWORK-5: Cài đặt composer – Bước 3

Bước 5: Phần setting Proxy bỏ trống và tiếp tục nhấp "Next".

Hình : TÌM HIỂU LARAVEL FRAMEWORK-6: Cài đặt composer – Bước 4
SVTH: Nguyễn Minh Thư_110117035

20


Tên đề tài: Nghiên cứu Laravel Framework

GVHD: Phạm Thị Trúc Mai

và xây dựng website quản lý bán hàng
Bước 6: Xem lại lựa chọn lần cuối trước khi nhấp "Install" để tiến hành cài đặt.

Hình : TÌM HIỂU LARAVEL FRAMEWORK-7: Cài đặt composer – Bước 5

Bước 7: Bảng thông tin hướng dẫn, nhấp "Next".

Hình : TÌM HIỂU LARAVEL FRAMEWORK-8: Cài đặt composer – Bước 6
SVTH: Nguyễn Minh Thư_110117035


21


Tên đề tài: Nghiên cứu Laravel Framework

GVHD: Phạm Thị Trúc Mai

và xây dựng website quản lý bán hàng
Bước 8: Kết thúc quá trình cài đặt, nhấp "Finish" để kết thúc.

Hình : TÌM HIỂU LARAVEL FRAMEWORK-9: Cài đặt composer – Bước 7

SVTH: Nguyễn Minh Thư_110117035

22


Tên đề tài: Nghiên cứu Laravel Framework

GVHD: Phạm Thị Trúc Mai

và xây dựng website quản lý bán hàng
2.4 Cài đặt Laravel
Bước 1: Nhấn shift và nháy chuột phải vào thư mục xampp/ htdocs chọn open
command windows here hoặc open powershell here:

Hình 10: Cài đặt Laravel – Bước 1

Bước 2: Nhập đoạn code sau vào:

composer create-project --prefer-dist laravel/laravel blog

SVTH: Nguyễn Minh Thư_110117035

23


Tên đề tài: Nghiên cứu Laravel Framework

GVHD: Phạm Thị Trúc Mai

và xây dựng website quản lý bán hàng

Hình : TÌM HIỂU LARAVEL FRAMEWORK-11: Cài đặt Laravel – Bước 2

Sau bước trên người dùng sẽ được thư mục mới– là project laravel vừa tạo. Bên
trong thư mục là một loạt các thư mục con và các file.
2.5 Cấu trúc thư mục Laravel cơ bản:


App: dùng để xử lý mã nguồn .



Database: lưu trữ, xử lý cơ sở dữ liệu.



Resources: đây là thư mục lưu mã nguồn về giao diện.




Routes: chứa các url của dự án, khác với phiên bản 5.x laravel 6 đưa routes

thành một thư mục riêng thay vì để trong app\http\routes.php.


Vendor: chứa thư viện được sử dụng trong dự án.



Config: chứa file cấu hình.
Public: chứa tập tin index.php chứa một số tài nguyên như ảnh, JavaScript,



và CSS.


Bootstrap: Thư mục bootstrap chứa những file khởi động của Framework

và những file cấu hình autoloading. Ngồi ra nó cịn có thư mục cache chứa những
file mà Framework sinh ra để tăng hiệu năng như route và services cache files.


Storage: chứa các tập tin mẫu Blade đã biên dịch, các phiên dựa trên tệp, bộ

đệm tệp và các tệp khác được tạo bởi Framework, bao gồm app, Framework, và
logs. Thư mục app dùng để chứa những tập tin sinh ra bởi ứng dụng.
Thư mục Framework chứa những tập tin sinh ra từ Framework và caches. Cuối

cùng, thư mục logs chứa những file logs. Thư mục storage/app/public lưu những
file người dùng tạo ra như ảnh đại diện, nó phải được để cơng khai.

SVTH: Nguyễn Minh Thư_110117035

24


Tên đề tài: Nghiên cứu Laravel Framework

GVHD: Phạm Thị Trúc Mai

và xây dựng website quản lý bán hàng


Tests: Thư mục tests chứa những .

2.5 Mơ hình MVC
MVC là từ viết tắt bởi 3 từ Model – View – Controller. Đây là mơ hình thiết kế
sử dụng trong kỹ thuật phần mềm. Mơ hình source code thành 3 phần, tương ứng
mỗi từ. Mỗi từ tương ứng với một hoạt động tách biệt trong một mơ hình.

Hình : TÌM HIỂU LARAVEL FRAMEWORK-12: Mơ hình MVC

2.5.1 Các thành phần mơ hình MVC
2.5.1.1 Model (M):
Là bộ phận có chức năng lưu trữ tồn bộ dữ liệu của ứng dụng. Bộ phận này là
một cầu nối giữa 2 thành phần bên dưới là View và Controller. Model thể hiện dưới
hình thức là một cơ sở dữ liệu hoặc có khi chỉ đơn giản là một file XML bình
thường. Model thể hiện rõ các thao tác với cơ sở dữ liệu như cho phép xem, truy

xuất, xử lý dữ liệu,…
2.5.1.2 View (V):
Đây là phần giao diện (theme) dành cho người sử dụng. Nơi mà người dùng có
thể lấy được thơng tin dữ liệu của MVC thơng qua các thao tác truy vấn như tìm
kiếm hoặc sử dụng thông qua các website.
Thông thường, các ứng dụng web sử dụng MVC View như một phần của hệ
thống, nơi các thành phần HTML được tạo ra. Bên cạnh đó, View cũng có chức
năng ghi nhận hoạt động của người dùng để tương tác với Controller. Tuy nhiên,
SVTH: Nguyễn Minh Thư_110117035

25


×