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