Tải bản đầy đủ (.pdf) (87 trang)

Xây dựng website bán đồ công nghệ unimart

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 (4.88 MB, 87 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐÔNG Á

ĐỒ ÁN TỐT NGHIỆP
TÊN ĐỀ TÀI: XÂY DỰNG WEBSITE BÁN ĐỒ CÔNG NGHỆ
UNIMART

Sinh viên thực hiện
Ngày sinh
Lớp
Khoa
Mã sinh viên
Giảng viên hướng dẫn

:
:
:
:
:
:

Nguyễn Ngọc Hiếu
10/12/1999
DCCNTT8.10
Công Nghệ Thông Tin
1752480201014
Th.S Đặng Trần Long

Bắc Ninh T4 - 2022

1




BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐÔNG Á

NGUYỄN NGỌC HIẾU

TÊN ĐỀ TÀI: XÂY DỰNG WEBSITE BÁN ĐỒ CÔNG
NGHỆ UNIMART
Giảng viên hướng dẫn: Th.S Đặng Trần Long

Bắc Ninh T4 - 2022
2


Năm 2022

Nguyễn Ngọc Hiếu

Khoa: CNTT

MỤC LỤC

DANH MỤC TỪ NGỮ VIẾT TẮT ................................................................................. 4
DANH MỤC HÌNH ẢNH ............................................................................................... 5
DANH MỤC BẢNG BIỂU ............................................................................................. 8
LỜI CÁM ƠN ............................................................................................................... 10
CHƯƠNG 1 TỔNG QUAN ĐỀ TÀI ............................................................................. 11
1.1. Giới thiệu đề tài ...................................................................................................... 11
1.2. Mục đích đề tài ....................................................................................................... 11

1.3. Đối tượng phạm vi nghiên cứu ................................................................................ 12
1.4. Ý nghĩa đề tài.......................................................................................................... 12
1.5. Cơ sở lý thuyết........................................................................................................ 13
1.5.1. XAMPP ............................................................................................................... 13
1.5.2. PHP và Framework Laravel ................................................................................. 13
1.5.3. Cơ sở dữ liệu MySQL .......................................................................................... 22
CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG ...................................................... 24
2.1. Phân tích nghiệp vụ và hệ thống ............................................................................. 24
2.1.1. Đặc tả Actor ......................................................................................................... 24
2.1.1.1. Khách hàng ....................................................................................................... 24
2.1.1.2. Quản trị viên ..................................................................................................... 24
2.2. Biểu đồ luồng dữ liệu .............................................................................................. 25
2.2.1. Biểu đồ luồng dữ liệu mức khung cảnh ................................................................ 25
2.2.2. Biểu đồ luồng dữ liệu mức đỉnh ........................................................................... 25
2.2.3. Biểu đồ luồng dữ liệu mức dưới đỉnh ................................................................... 26
2.3. Biểu đồ phân rã chức năng ...................................................................................... 28
2.4. Biểu đồ Use Case và mô tả kịch bản ca sử dụng...................................................... 31
2.5. Biểu đồ tuần tự ....................................................................................................... 37
2.6. Phân tích cơ sở dữ liệu ............................................................................................ 40
2.7. Biểu ERD hệ thống ................................................................................................. 48
CHƯƠNG 3 ỨNG DỤNG SẢN PHẨM ........................................................................ 53
3.1. Trang khách hàng ................................................................................................... 53
1


Năm 2022

Nguyễn Ngọc Hiếu

Khoa: CNTT


3.2. Trang quản trị ......................................................................................................... 65
CHƯƠNG 4 KẾT LUẬN .............................................................................................. 84
4.1. Kết luận .................................................................................................................. 84
4.2. Hướng phát triển ..................................................................................................... 84
TÀI LIỆU THAM KHẢO ............................................................................................. 85

2


Năm 2022

Nguyễn Ngọc Hiếu

Khoa: CNTT

LỜI NÓI ĐẦU
Hiện nay trong sự phát triển không ngừng chỉ của xã hội, việc ứng dụng cơng nghệ
thơng tin cùng việc tin học hóa hiện đại hóa được xem là một trong những thành phần
quyết định, tất yếu trong hoạt động của các chính phủ và các tổ chức cũng như các doanh
nghiệp, đoàn thể, nó đóng vai trị vơ cùng quan trọng, có thể tạo ra những bước đột phá,
cải tiến rõ rệt, vô cùng mạnh mẽ trong mọi hoạt động.
Vì vậy việc sở hữu riêng cho mình một trang Web được xem như là một chiến
lược quảng cáo, cạnh tranh của các doanh nghiệp, cơng ty, đơn vị, đồn thể...trong việc
tiếp thị, giới thiệu, quảng bá sản phẩm cũng như kinh doanh các sản phẩm, khả năng mở
rộng khi hoạt động kinh doanh tăng lên. Thông qua Website, thông tin về doanh nghiệp,
công ty, đơn vị, đoàn thể... dịch vụ mới, sản phẩm mới… sẽ đến được với những người
quan tâm, đến với những khách hàng của họ một cách nhanh chóng dễ dàng.
Nắm bắt được nhu cầu đó với việc chọn và thực hiện đề tài “Xây dựng Website
bán đồ công nghệ Unimart”, với mong muốn xây dựng một Website nhằm đáp ứng các

nhu cầu cung cấp thông tin sản phẩm một cách linh hoạt nhất tới tay người tiêu dùng
cũng như cải thiện doanh số kinh doanh cho các đơn vị, doanh nghiệp, cơng ty, đồn
thể... cùng với khả năng quản lý dễ dàng trong việc quản lý và cập nhật thông tin Website
Em xin gửi lời cảm ơn chân thành đến tới giảng viên hướng dẫn, thầy Đặng Trần
Long đã tận tình hướng dẫn em hồn thành chun đề này. Một lần nữa, em xin gửi lời
cảm ơn đến tất cả các thầy cô Trường Đại Học Công Nghệ Đông Á đã giảng dạy, giúp đỡ
em trong thời gian vừa qua.

3


Năm 2022

Nguyễn Ngọc Hiếu

Khoa: CNTT

DANH MỤC TỪ NGỮ VIẾT TẮT
STT

Từ viết tắt

Tiếng Anh

Tiếng Việt

1

HTTP


Hypertext Transfer Protocol

Giao thức truyền tải siêu văn bản

2

MVC

Model – View - Controller

Mẫu kiến trúc phần mềm

4

PHP

PHP Hypertext Preprocessor

Ngơn ngữ lập trình kịch bản

5

SQL

Structured Query Language

Ngơn ngữ truy vấn

7


URL

Uniform Resource Location

8

XML

Extensible Markup Language

Một loại mã nhận dạng tài nguyên
thống nhất
Ngôn ngữ đánh dấu mở rộng

4


Năm 2022

Nguyễn Ngọc Hiếu

Khoa: CNTT

DANH MỤC HÌNH ẢNH
Số hiệu

Tên

Trang


1.1

Mơ hình MVC

15

1.2

Sơ đồ hoạt động của Laravel theo mơ hình MVC

18

1.3

Cấu trúc thư mục của dự án Laravel

19

2.1

Biểu đồ luồng dữ liệu mức khung cảnh

25

2.2

Biểu đồ luồng dữ liệu mức đỉnh

25


2.3

Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng quản

26

lý bán hàng

2.4

Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng quản

26

lý user

2.5

Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng quản

27

lý sản phẩm

2.6

Biểu đồ phân rã chức năng hệ thống

28


2.7

Biểu đồ Use Case

31

2.8

Biểu đồ tuần tự xem sản phẩm

37

2.9

Biểu đồ tuần tự tìm kiếm sản phẩm

37

2.10

Biểu đồ tuần tự thêm giỏ hàng

38

2.11

Biểu đồ tuần tự xóa giỏ hàng

38


2.12

Biểu đồ tuần tự thanh toán

39

2.13

Biểu đồ tuần tự đăng nhập admin

39

2.14

Biểu đồ tuần tự duyệt đơn hàng

40

5


Năm 2022

Nguyễn Ngọc Hiếu

Khoa: CNTT

2.15

Biểu đồ lớp


47

2.16

Biểu đồ ERD

52

3.1

Trang chủ Website

53

3.2

Sản phẩm nổi bật

54

3.3

Sản phẩm bán chạy

55

3.4

Sản phẩm theo từng danh mục


56

3.5

Chi tiết sản phẩm

57

3.6

Sản phẩm cùng danh mục

58

3.7

Trang giỏ hàng

59

3.8

Trang thanh toán

60

3.9

Trang theo dõi đơn hàng


61

3.10

Trang tin tức

62

3.11

Trang giới thiệu

63

3.12

Trang liên hệ

64

3.13

Đăng nhập trang quản trị

65

3.14

Bảng điều khiển trang quản trị


66

3.15

Quản lý sản phẩm

67

3.16

Quản lý thêm sản phẩm

68

3.17

Quản lý danh mục sản phẩm

69

3.18

Quản lý slider

70

3.19

Quản lý bài viết


71

3.20

Quản lý thêm bài viết

72
6


Năm 2022

Nguyễn Ngọc Hiếu

Khoa: CNTT

3.21

Quản lý danh mục bài viết

73

3.22

Quản lý tài khoản quản trị viên

74

3.23


Quản lý đơn hàng

75

3.24

Trang chi tiết đơn hàng

76

3.25

Quản lý danh sách trang

77

3.26

Danh sách khách hàng

78

3.27

Trang thơng tin của khách hàng

79

3.28


Thơng báo điện thoại khi có đơn hàng mới

80

3.29

Quản lý quyền của admin

81

3.30

Danh sách vai trò

82

3.31

Thêm vai trò

83

7


Năm 2022

Nguyễn Ngọc Hiếu


Khoa: CNTT

DANH MỤC BẢNG BIỂU
Số hiệu

Tên

Trang

1.1

Cấu trúc thư mục Laravel

20

2.1

Mô tả kịch bản xem sản phẩm

32

2.2

Mô tả kịch tìm kiếm sản phẩm

32

2.3

Mơ tả kịch bản xem bài viết tin tức


33

2.4

Mô tả kịch bản đặt hàng

33

2.5

Mô tả kịch bản theo dõi đơn hàng

34

2.6

Mô tả kịch bản quản lý bài viết tin tức

34

2.7

Mô tả kịch bản quản lý sản phẩm

35

2.8

Mô tả kịch bản quản lý slider


36

2.9

Mô tả kịch bản quản lý đơn hàng

36

2.10

Bảng danh mục bài viết

40

2.11

Bảng bài viết

40

2.12

Bảng danh mục sản phẩm

41

2.13

Bảng sản phẩm


41

2.14

Bảng ảnh liên quan sản phẩm

42

2.15

Bảng slider

42

2.16

Bảng tài khoản quản trị viên

42

2.17

Bảng đơn hàng

43

2.18

Bảng chi tiết đơn hàng


43

2.19

Bảng khách hàng

44
8


Năm 2022

Nguyễn Ngọc Hiếu

Khoa: CNTT

2.20

Bảng tỉnh thành phố

44

2.21

Bảng quận huyện

45

2.22


Bảng phường xã

45

2.23

Bảng thơng báo

45

2.24

Bảng quyền

46

2.25

Bảng vai trị

46

2.26

Bảng vai trị người dùng

46

2.27


Bảng quyền vai trò

46

9


Năm 2022

Nguyễn Ngọc Hiếu

Khoa: CNTT

LỜI CÁM ƠN
Em xin gửi lời cảm ơn chân thành tới thầy Đặng Trần Long đã hướng dẫn em
trong suốt quá trình làm báo cáo đồ án tốt nghiệp. Trong thời gian được làm việc với
thầy, em không những học hỏi được nhiều kiến thức bổ ích mà còn học được tinh thần
làm việc và thái độ làm việc nghiêm túc của thầy.
Trong suốt quá trình thực hiện đề tài này, mặc dù đã nỗ lực hết sức mình nhưng
báo cáo của em khó tránh khỏi những sai sót. Em rất mong nhận được sự thơng cảm và
chỉ bảo tận tình của q thầy cơ. Một lần nữa em xin chân thành cảm ơn!
Bắc Ninh, ngày…. tháng…. năm 2022
Sinh viên thực hiện

10


Năm 2022


Nguyễn Ngọc Hiếu

Khoa: CNTT

CHƯƠNG 1
TỔNG QUAN ĐỀ TÀI
1.1. Giới thiệu đề tài
Bán hàng trực tuyến hiện nay đang được coi là một trong những chiến lược kinh
doanh cực kỳ hiệu quả đối với các cửa hàng doanh nghiệp kinh doanh và đặc biệt là xây
dựng hệ thống Website kết hợp với các trang mạng xã hội đang phát triển hiện nay như
Facebook … Đã đem lại rất nhiều thành công cho nhiều doanh nghiệp và cửa hàng đặc
biệt là trong mùa dịch Covid 19 đang diễn biến hết sức phức tạp, cho nên nhu cầu mua
sắm online càng nhiều. Đã có rất nhiều ngơn ngữ, Framework xây dựng hệ thống bán
hàng trực tuyến rất thuận tiện và thành công và đã thu lại một nguồn lợi nhuận rất lớn ví
dụ như các cửa hàng Thegioididong, FPTShop, Lazada… họ đã rất thành công với việc
bán hàng từ hệ thống Website. Bên cạnh những lợi ích từ việc xây dựng hệ thống
Website bán hàng thì cũng có khơng ít khó khăn trong việc chọn ngôn ngữ, Framework
để xây dựng hệ thống để đáp ứng đầy đủ nhu cầu của người kinh doanh và khách hàng
tìm kiếm thơng tin.
Do đó em chọn đề tài xây dựng hệ thống Website bán đồ công nghệ trực tuyến
bằng PHP Laravel MySQL có thể phần nào giúp các cửa hàng trình bày sản phẩm và
thơng tin về của hàng cơng ty của mình, và giúp cho khách hàng có thể có nhu cầu tìm
kiếm thơng tin sản phẩm và đặt hàng online một cách dễ dàng.
1.2. Mục đích đề tài
Xây dựng hệ thống Website trình bày sản phẩm, tin tức, giới thiệu, thông tin chi
tiết cho từng sản phẩm, tin tức, và có thể quản lý sản phẩm, tin tức, các module, một cách
thuận tiện và thân thiện với người dùng nhất. Nghiên cứu và đưa một số công nghệ vào
hệ thống Website, quản lý chặt chẽ các sản phẩm, tin tức cũng như vấn đề về bảo mật,
giúp khách hàng có thể dễ dàng tìm kiếm thông tin và một giao diện đẹp nhất.


11


Năm 2022

Nguyễn Ngọc Hiếu

Khoa: CNTT

1.3. Đối tượng phạm vi nghiên cứu
Đối tượng nghiên cứu:
-

PHP

-

Framework Laravel

-

MySQL

-

JavaScript

-

Slack API


-

Pusher

Phạm vi nghiên cứu đối với Shop có các hoạt động liên quan đến bán hàng qua mạng:
-

Hiển thị và quản lý thông tin sản phẩm

-

Đặt hàng online

-

Quản lý đơn hàng

-

Quản lý sản phẩm

-

Quản lý slider

-

Quản lý quyền


-

Quản lý vai trò

-

Quản lý người dùng

1.4. Ý nghĩa đề tài
Với việc xây dựng được một Website bán đồ cơng nghệ trực tuyến sẽ giúp ích
được nhiều cho các chủ cửa hàng vừa và nhỏ có thể quản lý được các sản phẩm của mình
khi thống kê và giao dịch, cơng việc sẽ được rút ngắn xuống. Có thể quảng bá thương
hiệu một cách rộng rãi hơn, giúp người tiêu dùng có thể tiếp cận được những trang thiết
bị mà không cần phải đến trực tiếp. Người tiêu dùng cũng có thể gửi phản ánh những thắc
mắc về sản phẩm về cho chủ cửa hàng biết.

12


Năm 2022

Nguyễn Ngọc Hiếu

Khoa: CNTT

1.5. Cơ sở lý thuyết
1.5.1. XAMPP
XAMPP là một ứng dụng phần mềm khá nổi tiếng và thường hay được các lập
trình viên sử dụng để xây dựng và phát triển dự án Website về ngôn ngữ PHP. XAMPP
được cài đặt và chạy trực tiếp trong môi trường Windows. XAMPP 8.1.4 là phiên bản

mới nhất hiện nay được rất nhiều người dùng ưa thích.
XAMPP được xem là một bộ cơng cụ hồn chỉnh dành cho lập trình viên PHP, nó
tích hợp các thành phần quan trọng và tương thích nhau như:
-

Apache.

-

PHP (tạo mơi trường chạy các tập tin script *.php).

-

MySql (hệ quản trị dữ liệu mysql).

-

Ba thành phần trên là 3 thành phần cốt lõi giúp chúng ta nhập môn học ngôn ngữ
PHP, XAMPP lựa chọn sự tương thích các phiên bản giữa chúng và đóng gói
chúng lại giúp cho người dùng dễ dàng cài đặt và sử dụng.

1.5.2. PHP và Framework Laravel
1.5.2.1. PHP
PHP là chữ viết tắt của “Personal Home Page” do Rasmus Lerdorf tạo ra năm
1994. Vì tính hữu dụng của nó và khả năng phát triển, PHP bắt đầu được sử dụng trong
môi trường chuyên nghiệp và nó trở thành “PHP: Hypertext Preprocessor”
Thực chất PHP là ngơn ngữ kịch bản nhúng trong HTML, nói một cách đơn giản
đó là một trang HTML có nhúng mã PHP, PHP có thể được đặt rải rác trong HTML.
PHP là một ngơn ngữ lập trình được kết nối chặt chẽ với máy chủ, là một cơng
nghệ phía máy chủ (Server-Side) và không phụ thuộc vào môi trường (cross-platform).

Đây là hai yếu tố rất quan trọng, thứ nhất khi nói cơng nghệ phía máy chủ tức là nói đến
mọi thứ trong PHP đều xảy ra trên máy chủ, thứ hai, chính vì tính chất khơng phụ thuộc
mơi trường cho phép PHP chạy trên hầu hết trên các hệ điều hành như Windows, Unix và
nhiều biến thể của nó... Đặc biệt các mã kịch bản PHP viết trên máy chủ này sẽ làm việc
bình thường trên máy chủ khác mà khơng cần phải chỉnh sửa hoặc chỉnh sửa rất ít.
13


Năm 2022

Nguyễn Ngọc Hiếu

Khoa: CNTT

1.5.2.2. Framework Laravel và mơ hình MVC
1.5.2.2.1. 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 chia 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.
Model (M):
Là bộ phận có chức năng lưu trữ toà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,…
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, View khơng có
mối quan hệ trực tiếp với Controller, cũng không được lấy dữ liệu từ Controller mà chỉ
hiển thị u cầu chuyển cho Controller mà thơi.
Ví dụ: Nút “delete” được tạo bởi View khi người dùng nhấn vào nút đó sẽ có một hành
động trong Controller.

14


Năm 2022

Nguyễn Ngọc Hiếu

Khoa: CNTT

Controller (C):
Bộ phận có nhiệm vụ xử lý các yêu cầu người dùng đưa đến thông qua view. Từ
đó, Controller đưa ra dữ liệu phù hợp với người dùng. Bên cạnh đó, Controller cịn có
chức năng kết nối với model.

Hình 1.1: Mơ hình MVC
Luồng tương tác giữa các thành phần trong MVC.
Ví dụ: Chức năng thêm bài viết mới trong trang quản trị Website. Nơi đây có 2 trường
nhập về tiêu đề và nội dung bài viết, thì trong đó:
-

View sẽ hiển thị ra phần nhập form tiêu đề và nội dung.

-


Controller lấy dữ liệu từ 2 trường và gửi tới Model.

-

Model lúc này sẽ nhận dữ liệu từ Controller để lưu trữ trong cơ sở dữ liệu.

Mỗi bộ phận thực hiện chức năng nhất định, nhưng chúng có sự thống nhất, liên kết với
nhau tạo nên mơ hình MVC. khi một u cầu từ máy client gửi tới server, Controller sẽ
thực hiện nhiệm vụ của mình đó là tiếp nhận và xử lý u cầu. Trong trường hợp cần
thiết, nó có thể liên hệ Model – bộ phận làm việc với database để hỗ trợ.

15


Năm 2022

Nguyễn Ngọc Hiếu

Khoa: CNTT

Khi xử lý xong yêu cầu, kết quả sẽ được trả về View. Tại View sẽ tạo mã HTML thành
giao diện và trả về hiển thị trên trình duyệt. Vậy mơ hình này có những ưu và nhược điểm
gì?
Ưu điểm của mơ hình MVC:
-

Kiểm tra dễ dàng: Với MVC, chúng ta có thể dễ dàng kiểm tra, rà soát lỗi phần
mềm trước khi tới tay người tiêu dùng, đảm bảo chất lượng và độ uy tín cao hơn.

-


Chức năng control: Trên các nền Website thì ngơn ngữ lập trình như CSS,
HTML, Javascript có một vai trị vơ cùng quan trọng. Việc sử dụng mơ hình MVC
sẽ giúp chúng ta có một bộ control ưu việt trên nền tảng các ngơn ngữ hiện đại với
nhiều hình thức khác nhau.

-

View và size: View sẽ là nơi lưu trữ các dữ liệu. Càng nhiều yêu cầu được thực
hiện thì kích thước càng tệp càng lớn. Khi đó, đường truyền mạng cũng giảm tốc
độ load. Việc sử dụng mơ hình MVC sẽ giúp chúng ta tiết kiệm được diện tích
băng thông một cách tối ưu.

-

Chức năng Soc (Separation of Concern): Chức năng này cho phép chúng ta phân
tách rõ ràng các phần như Model, giao diện, data, nghiệp vụ.

-

Tính kết hợp: Việc tích hợp ở mơ hình MVC cho phép chúng ta thoải mái viết
code trên nền tảng Website. Khi đó, server sẽ được giảm tải khá nhiều.

-

Đơn giản: Đây là một mơ hình với kết cấu tương đối đơn giản. Dù khơng có q
nhiều chun mơn cũng có thể sử dụng được.

Nhược điểm:
MVC thường được sử dụng vào những dự án lớn. Do đó, với các dự án nhỏ, mơ

hình MVC có thể gây cồng kềnh, tốn thời gian trong quá trình phát triển cũng như thời
gian trung chuyển dữ liệu.

16


Năm 2022

Nguyễn Ngọc Hiếu

Khoa: CNTT

1.5.2.2.2. Framework Laravel
Laravel là một trong những PHP Web Framework phổ biến nhất theo mẫu MVC
(Model-View- Controller). Được tạo bởi Taylor Otwell, Laravel Framework là nguồn mở
và miễn phí giúp đưa ra các sản phẩm chất lượng cao. Các code sẽ được giảm thiểu đi,
nhưng vẫn đạt tiêu chuẩn ngành, giúp tiết kiệm được hàng trăm giờ đồng hồ dành cho
việc phát triển. Bản phát hành đầu tiên vào năm 2011, phiên bản hiện tại đã ra mắt là
Laravel 9. Có thể kể đến các ưu điểm như:
-

Tiếp cận các tính năng mới nhất của PHP

-

Tích hợp dịch vụ mail dựa trên nền tảng đám mây hoặc local nhờ API sạch trên
thư viện SwiftMailer

-


Dễ sử dụng nhờ tn theo mẫu thiết kế mơ hình 3 lớp MVC dễ hiểu

-

Tính bảo mật cao

-

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

-

Tạo liên kết đến các Route được đặt tên

-

Tốc độ xử lý nhanh, đáp ứng nhu cầu tạo lập Website hay các dự án lớn trong thời
gian ngắn

Tuy nhiên Laravel cũng có một số nhược điểm nhất định:
-

Làm chậm tốc độ tải trang vì Laravel nặng cho di động

-

Khơng hỗ trợ tính năng tính tốn

17



Năm 2022

Nguyễn Ngọc Hiếu

Khoa: CNTT

Hình 1.2: Sơ đồ hoạt động của Laravel theo mơ hình MVC
Vì Laravel cũng sử dụng theo mơ hình MVC nên luồng hoạt động cơ bản sẽ là khi
người dùng gửi một yêu cầu lên hệ thống thơng qua một route, route đó sẽ gọi đến một
Controller và một action trong đó, Controller xử lý các u cầu của người dùng. Trong
q trình làm việc đó, Controller sẽ phải thông qua lớp Model nếu muốn làm việc với Cơ
sở dữ liệu. Sau khi xử lý xong, Model sẽ đưa dữ liệu về cho Controller, Controller tiếp
tục đưa sang View và View hiển thị lại cho người dùng kết quả cuối cùng.

18


Năm 2022

Nguyễn Ngọc Hiếu

Khoa: CNTT

Hình 1.3: Cấu trúc thư mục của dự án Laravel

19


Năm 2022


Nguyễn Ngọc Hiếu

Khoa: CNTT

Bảng 1.1: Cấu trúc thư mục của Laravel
Folder/File

Mô tả

app

Thư mục app, chứa tất cả các project được tạo, hầu hết các class
trong project đều được tạo ra ở trong thư mục này.Không giống
các Framework khác, các file model không được chứa trong một
thư mục riêng biệt, mà được chứa ngay tại thư mục app này.

app/Console

Thư mục Console, chứa các tập tin định nghĩa các câu lệnh trên
artisan.

app/Exceptions

Thư mục Exceptions, chứa các tập tin quản lý, điều hướng lỗi.

app/Http/Controllers

Thư mục Controllers, chứa các controller của project.


app/Http/Middleware

Thư mục Middleware, chứa các tập tin lọc và ngăn chặn các
requests.

app/Providers

Thư mục Providers, chứa các file thực hiện việc khai báo service
và bind vào trong Service Container.

bootstrap

Thư mục bootstrap, chứa những file khởi động của Framework
và những file cấu hình auto loading, route, và file cache.

config

Thư mục config, chứa tất cả những file cấu hình.

database

Thư mục database, chứa 2 thư mục migration (tạo và thao tác
database) và seeds (tạo dữ liệu mẫu), tiện lợi để lưu trữ dữ liệu
sau này.

public

Thư mục public, chứa file index.php giống như cổng cho tất cả
các request vào project, bên trong thư mục còn chứa file
JavaScript, và CSS.


resources

Thư mục resources, chứa những file view và raw, các file biên
soạn như LESS, SASS, hoặc JavaScript. Ngoài ra còn chứa tất cả
các file lang trong project.

resources/views

Thư mục views, chứa các file view xuất giao diện người dùng.

routes

Thư mục routes, chứa tất cả các điều khiển route (đường dẫn)
20


Năm 2022

Nguyễn Ngọc Hiếu

Khoa: CNTT

trong project. Chứa các file route sẵn có: web.php, channels.php,
api.php, và console.php.
routes/web.php

File web.php, điều khiển các route của view, như route của trang
top, sản phẩm, ..


.env

File .env, chứa các config chính của Laravel.

artisan

File thực hiện lệnh của Laravel.

.gitattributes
.gitignore

File dành cho xử lý git.

composer.json
composer.lock
composer-setup.php

File của Composer.

package.js

File package.js, chứa các package cần dùng cho projects.

phpunit.xml

File phpunit.xml, xml của phpunit dùng để testing project.

webpack.mix.js

File webpack.mix.js, file dùng để build các webpack.


21


Năm 2022

Nguyễn Ngọc Hiếu

Khoa: CNTT

1.5.2.3. Tại sao lại sử dụng PHP và Framework Laravel
Để thiết kế Web động có rất nhiều ngơn ngữ lập trình khác nhau để lựa chọn, mặc dù
cấu hình và tính năng khác nhau nhưng chúng vẫn đưa ra những kết quả giống nhau.
Chúng ta có thể lựa chọn cho mình một ngơn ngữ: ASP, PHP, Java, Perl... và một số loại
khác nữa. Vậy tại sao chúng ta lại nên chọn PHP. Rất đơn giản, có những lí do sau mà
khi lập trình Web chúng ta không nên bỏ qua sự lựa chọn tuyệt vời này.
PHP được sử dụng làm Web động vì nó nhanh, dễ dàng, tốt hơn so với các giải pháp
khác.
PHP có khả năng thực hiện và tích hợp chặt chẽ với hầu hết các cơ sở dữ liệu có sẵn,
tính linh động, bền vững và khả năng phát triển không giới hạn.
PHP vừa dễ với người mới sử dụng vừa có thể đáp ứng mọi yêu cầu của các lập trình
viên chuyên nghiệp, với mọi ý tuởng thì PHP có thể đáp ứng một cách xuất sắc.
Đặc biệt với Framework Laravel tích hợp nhiều plugin chúng ta có thể xây dựng
Website một cách nhanh chóng với lượng code sẽ ít hơn rất nhiều khi sử dụng PHP thuần
giúp tăng tốc độ lên nhiều lần.
1.5.3. Cơ sở dữ liệu MySQL
1.5.3.1. Giới thiệu cơ sở dữ liệu
MySQL là ứng dụng cơ sở dữ liệu mã nguồn mở phổ biến nhất hiện nay (theo
www. mysql. com) và được sử dụng phối hợp với PHP. Trước khi làm việc với MySQL
cần xác định các nhu cầu cho ứng dụng.

MySQL là cơ sở dữ liệu có trình giao diện trên Windows hay Linux, cho phép
người sử dụng có thể thao tác các hành động liên quan đến nó. Việc tìm hiểu từng cơng
nghệ trước khi bắt tay vào việc viết mã kịch bản PHP, việc tích hợp hai công nghệ PHP
và MySQL là một công việc cần thiết và rất quan trọng.

22


Năm 2022

Nguyễn Ngọc Hiếu

Khoa: CNTT

1.5.3.2. Mục đích sử dụng cơ sở dữ liệu
Mục đích sử dụng cơ sở dữ liệu bao gồm các chức năng như: lưu trữ (storage),
truy cập (accessibility), tổ chức (organization) và xử lí (manipulation).
Lưu trữ: Lưu trữ trên đĩa và có thể chuyển đổi dữ liệu từ cơ sở dữ liệu này sang cơ
sở dữ liệu khác, nếu sử dụng cho quy mô nhỏ, chúng ta có thể chọn cơ sở dữ liệu nhỏ
như: Microsoft Exel, Microsoft Access, MySQL, Microsoft Visual FoxPro… Nếu ứng
dụng có quy mơ lớn, chúng ta có thể chọn cơ sở dữ liệu có quy mơ lớn như: Oracle, SQL
Server…
Truy cập: Truy cập dữ liệu phụ thuộc vào mục đích và yêu cầu của người sử dụng,
ở mức độ mang tính cục bộ, truy cập cơ sỏ dữ liệu ngay trong cơ sở dữ liệu với nhau,
nhằm trao đổi hay xử lí dữ liệu ngay bên trong chính nó, nhưng do mục đích và u cầu
người dùng vượt ra ngồi cơ sở dữ liệu, nên chúng ta cần có các phương thức truy cập dữ
liệu giữa các cơ sở dữ liệu với nhau như: Microsoft Access với SQL Server, hay SQL
Server và cơ sở dữ liệu Oracle....
Tổ chức: Tổ chức cơ sở dữ liệu phụ thuộc vào mơ hình cơ sở dữ liệu, phân tích và
thiết kế cơ sở dữ liệu tức là tổ chức cơ sở dữ liệu phụ thuộc vào đặc điểm riêng của từng

ứng dụng. Tuy nhiên khi tổ chức cơ sở dữ liệu cần phải tuân theo một số tiêu chuẩn của
hệ thống cơ sở dữ liệu nhằm tăng tính tối ưu khi truy cập và xử lí.
Xử lí: Tùy vào nhu cầu tính tốn và truy vấn cơ sở dữ liệu với các mục đích khác
nhau, cần phải sử dụng các phát biểu truy vấn cùng các phép toán, phát biểu của cơ sở dữ
liệu để xuất ra kết quả như yêu cầu. Để thao tác hay xử lí dữ liệu bên trong chính cơ sở
dữ liệu ta sử dụng các ngơn ngữ lập trình như: PHP, C++, Java, Visual Basic.

23


×