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

Xây dựng website thương mại điện tử t store

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 (6.31 MB, 94 trang )

ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC SƯ PHẠM
KHOA TIN HỌC

BÁO CÁO
ĐỒ ÁN KHÓA LUẬN TỐT NGHIỆP
ĐỀ TÀI

XÂY DỰNG WEBSITE THƯƠNG MẠI ĐIỆN
TỬ T-STORE

Giảng viên hướng dẫn
Sinh viên thực hiện
Mã Sinh Viên
Lớp

:
:
:
:

TS. NGUYỄN ĐÌNH LẦU
TRẦN ĐÌNH THANH
312022161147
16CNTT1

Đà Nẵng, tháng 7 năm 2020


LỜI CẢM ƠN


Để có thể hồn thành đồ án khóa luận tốt nghiêp, bên cạnh sự nỗ lực cố gắng
của bản thân cịn có sự hướng dẫn nhiệt tình của quý Thầy Cô, cũng như sự động
viên ủng hộ của gia đình và bạn bè trong suốt thời gian học tập và nghiên cứu.
Đồ án khóa luận tốt nghiệp được hồn thành dưới sự hướng dẫn tận tình của
TS. Nguyễn Đình Lầu. Nhân dịp này, em xin đặc biệt gửi lời cảm ơn trân trọng
nhất tới thầy đã tận tâm hướng dẫn em trong suốt quá trình làm đồ án tốt nghiệp.
Em xin chân thành cảm ơn các thầy cô giáo của Khoa Tin học, Trường Đại
học Sư Phạm Đà Nẵng xin cảm ơn q thầy cơ đã tận tình dạy bảo, giúp đỡ em
trong suốt thời gian em học tại trường vừa qua.
Cuối cùng, đồ án tốt nghiệp chắc chắn sẽ khơng tránh khỏi những khiếm
khuyết. Vì vậy, em kính mong nhận được sự đóng góp ý kiến của các thầy cô và
các bạn sinh viên để đồ án này được hoàn chỉnh hơn.
Em xin trân trọng cảm ơn!
Đà Nẵng, ngày 1 tháng 07 năm 2020
Sinh viên thực hiện

Trần Đình Thanh

SVTH: Trần Đình Thanh


LỜI CAM ĐOAN

Tơi xin cam đoan:
• Những nội dung trong báo cáo này là do tôi thực hiện dưới sự hướng dẫn
của thầy Nguyễn Đình Lầu.
• Mọi tham khảo dung trong báo cáo này đều được trích dẫn rõ ràng tên tác
giả, tên cơng trình, thời gian, địa điểm cơng bố.

• Mọi sao chép khơng hợp lệ, vi phạm quy chế đào tạo tơi xin chịu hồn

tồn trách nhiệm
Sinh viên thực hiện

Trần Đình Thanh

SVTH: Trần Đình Thanh


NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
……………………………………………………………………………......
…………………………………………………………………………………......
…………………………………………………………………………………......
…………………………………………………………………………………......
…………………………………………………………………………………......
…………………………………………………………………………………......
…………………………………………………………………………………......
…………………………………………………………………………………......
…………………………………………………………………………………......
…………………………………………………………………………………......
…………………………………………………………………………………......
…………………………………………………………………………………......
…………………………………………………………………………………......
…………………………………………………………………………………......
…………………………………………………………………………………......
…………………………………………………………………………………......
Đà Nẵng, ngày tháng
năm 2020
Giáo viên hướng dẫn
(Ký tên và ghi rõ họ tên)


SVTH: Trần Đình Thanh


NHẬN XÉT CỦA HỘI ĐỒNG PHẢN BIỆN
…………………………………………………………………………….....
…………………………………………………………………………………......
…………………………………………………………………………………......
…………………………………………………………………………………......
…………………………………………………………………………………......
…………………………………………………………………………………......
…………………………………………………………………………………......
…………………………………………………………………………………......
…………………………………………………………………………………......
…………………………………………………………………………………......
…………………………………………………………………………………......
…………………………………………………………………………………......
…………………………………………………………………………………......
…………………………………………………………………………………......
…………………………………………………………………………………......
…………………………………………………………………………………......
Đà Nẵng, ngày tháng
năm 2020
Giáo viên phản biện
(Ký tên và ghi rõ họ tên)

SVTH: Trần Đình Thanh


MỤC LỤC
MỞ ĐẦU ............................................................................................................... 1

1.

Đặt vấn đề .................................................................................................. 1

2.

Thương mại điện tử Việt Nam ................................................................... 1

3.

Mục tiêu và chức năng chính của hệ thống ................................................ 2

4.

Định hướng giải quyết vấn đề .................................................................... 3

CHƯƠNG 1. CƠ SỞ LÝ THUYẾT .................................................................... 4
Ngôn ngữ lập trình PHP .............................................................. 4
Laravel Framework ................................................................... 10
HTML, CSS và JavaScript ........................................................ 12
Môi trường phát triển ứng dụng ................................................ 14
Thanh toán điện tử Ngân Lượng ............................................... 14
Kết luận ..................................................................................... 16
CHƯƠNG 2. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG .............................. 17
2.1

Các yêu cầu đặt ra cho hệ thống .............................................................. 17

2.2


Các tác nhân của hệ thống........................................................................ 17

2.3

Biểu đồ UseCase của hệ thống ................................................................. 19
Biểu đồ UseCase tổng quát ....................................................... 19
Biểu đồ UseCase chi tiết với từng tác nhân .............................. 20

2.4

Các chức năng chính của hệ thống ........................................................... 23
Chức năng đăng ký ................................................................... 23
Chức năng đăng nhập ................................................................ 26
Chức năng quên mật khẩu ......................................................... 29
Chức năng thay đổi thông tin tài khoản .................................... 31
Chức năng tìm kiếm .................................................................. 33
Chức năng sắp xếp và lọc ......................................................... 35
Chức năng đánh giá và bình luận .............................................. 37
Chức năng giỏ hàng .................................................................. 38
Chức năng mua hàng và thanh toán .......................................... 41
Chức năng quản lý tài khoản..................................................... 44
Chức năng quản lý bài viết ....................................................... 45
Chức năng quản lý sản phẩm .................................................... 47

SVTH: Trần Đình Thanh


Chức năng quản lý đơn hàng .................................................... 50
Chức năng thống kê .................................................................. 52
Một số chức năng khác ............................................................. 54

2.5

Thiết kế cơ sở dữ liệu ............................................................................... 55
Các bảng trong cơ sở dữ liệu .................................................... 55
Lược đồ quan hệ của các bảng .................................................. 61

2.6

Kết luận .................................................................................................... 62

CHƯƠNG 3. XÂY DỰNG CHƯƠNG TRÌNH ............................................... 63
3.1

Cài đặt và thử nghiệm .............................................................................. 63

3.2

Giao diện ứng dụng .................................................................................. 64
Giao diện một sớ trang chính .................................................... 64
Giao diện một số chức năng ...................................................... 69

3.3

Kết luận .................................................................................................... 81

KẾT LUẬN ......................................................................................................... 82
TÀI LIỆU THAM KHẢO ................................................................................. 84

SVTH: Trần Đình Thanh



DANH MỤC HÌNH VẼ
Hình 1.1 Top ngơn ngữ lập trình phổ biến ............................................................. 6
Hình 1.2 Top các framework phổ biến .................................................................. 7
Hình 1.3 Quy trình checkout tiêu chuẩn .............................................................. 15
Hình 1.4 Quy trình checkout nâng cao ................................................................ 15
Hình 1.5 Quy trình Seamless checkout ................................................................ 16
Hình 2.1 Biểu đồ UseCase tổng quát ................................................................... 19
Hình 2.2 Biểu đồ UseCase với tác nhân Guest .................................................... 20
Hình 2.3 Biểu đồ UseCase với tác nhân User và Online Payment ...................... 21
Hình 2.4 Biểu đồ UseCase với tác nhân Admin .................................................. 22
Hình 2.5 Biểu đồ UseCase đăng ký ..................................................................... 24
Hình 2.6 Biểu đồ hoạt động chức năng đăng ký .................................................. 25
Hình 2.7 Biểu đồ UseCase đăng nhập.................................................................. 27
Hình 2.8 Biểu đồ hoạt động chức năng đăng nhập .............................................. 28
Hình 2.9 Biểu đồ UseCase quên mật khẩu........................................................... 29
Hình 2.10 Biểu đồ hoạt động chức năng quên mật khẩu ..................................... 31
Hình 2.11 Biểu đồ UseCase thay đổi thơng tin tài khoản .................................... 32
Hình 2.12 Biểu đồ hoạt động chức năng thay đổi thơng tin tài khoản................. 33
Hình 2.13 Biểu đồ UseCase tìm kiếm .................................................................. 34
Hình 2.14 Biểu đồ hoạt động chức năng tìm kiếm .............................................. 35
Hình 2.15 Biểu đồ UseCase sắp xếp và lọc ......................................................... 35
Hình 2.16 Biểu đồ hoạt động chức năng sắp xếp và lọc ...................................... 36
Hình 2.17 Biểu đồ UseCase đánh giá và bình luận .............................................. 37
Hình 2.18 Biểu đồ hoạt động chức năng đánh giá và bình luận .......................... 38
Hình 2.19 Biểu đồ UseCase giỏ hàng .................................................................. 38
Hình 2.20 Biểu đồ hoạt động chức năng giỏ hàng ............................................... 40
Hình 2.21 Biểu đồ UseCase mua hàng và thanh tốn .......................................... 41
Hình 2.22 Biểu đồ hoạt động chức năng mua hàng và thanh tốn ...................... 43
Hình 2.23 Biểu đồ UseCase quản lý tài khoản .................................................... 44

Hình 2.24 Biểu đồ hoạt động chức năng quản lý tài khoản ................................. 45
Hình 2.25 Biểu đồ UseCase quản lý bài viết ....................................................... 46
Hình 2.26 Biểu đồ hoạt động chức năng quản lý bài viết .................................... 47
Hình 2.27 Biểu đồ UseCase quản lý sản phẩm .................................................... 48
Hình 2.28 Biểu đồ hoạt động chức năng quản lý sản phẩm................................. 49
Hình 2.29 Biểu đồ UseCase quản lý đơn hàng .................................................... 50
Hình 2.30 Biểu đồ hoạt động chức năng quản lý đơn hàng ................................. 52

SVTH: Trần Đình Thanh


Hình 2.31 Biểu đồ UseCase thớng kê .................................................................. 53
Hình 2.32 Biểu đồ hoạt động chức năng thớng kê ............................................... 54
Hình 2.33 Biểu đồ quan hệ các bảng trong cơ sở dữ liệu .................................... 61
Hình 3.1 Start Apache và MySQL ....................................................................... 63
Hình 3.2 Giao diện trang chủ ............................................................................... 64
Hình 3.3 Giao diện trang quản trị......................................................................... 65
Hình 3.4 Giao diện trang sản phẩm...................................................................... 65
Hình 3.5 Giao diện trang chi tiết sản phẩm.......................................................... 66
Hình 3.6 Giao diện trang tin tức........................................................................... 67
Hình 3.7 Giao diện trang chi tiết tin tức............................................................... 68
Hình 3.8 Giao diện trang đăng nhập .................................................................... 69
Hình 3.9 Giao diện đăng nhập thành cơng ........................................................... 69
Hình 3.10 Giao diện trang đăng ký ...................................................................... 70
Hình 3.11 Email kích hoạt tài khoản.................................................................... 70
Hình 3.12 Giao diện trang quên mật khẩu ........................................................... 71
Hình 3.13 Email reset pasword ............................................................................ 71
Hình 3.14 Giao diện trang đặt lại mật khẩu ......................................................... 71
Hình 3.15 Giao diện chức năng tìm kiếm ............................................................ 72
Hình 3.16 Giao diện chức năng sắp xếp và lọc .................................................... 72

Hình 3.17 Giao diện chức năng đánh giá và bình luận ........................................ 73
Hình 3.18 Giao diện trang giỏ hàng ..................................................................... 74
Hình 3.19 Giao diện giỏ hàng mini ...................................................................... 74
Hình 3.20 Giao diện trang thanh tốn .................................................................. 74
Hình 3.21 Giao diện trang thanh tốn online ....................................................... 75
Hình 3.22 Giao diện thanh tốn online thành cơng.............................................. 75
Hình 3.23 Giao diện thơng báo mua hàng thành cơng ......................................... 75
Hình 3.24 Giao diện trang quản lý tài khoản ....................................................... 76
Hình 3.25 Giao diện trang chi tiết tài khoản ........................................................ 76
Hình 3.26 Giao diện trang quản lý bài viết .......................................................... 76
Hình 3.27 Giao diện trang chỉnh sửa bài viết....................................................... 77
Hình 3.28 Giao diện trang quản lý sản phẩm ....................................................... 77
Hình 3.29 Giao diện chức năng thêm sản phẩm mới ........................................... 78
Hình 3.30 Giao diện chức năng quản lý đơn hàng của người dùng ..................... 78
Hình 3.31 Giao diện trang chi tiết đơn hàng ........................................................ 79
Hình 3.32 Giao diện chức năng in hóa đơn.......................................................... 79
Hình 3.33 Giao diện chức năng thớng kê doanh thu theo các ngày trong một tháng
.............................................................................................................................. 80
SVTH: Trần Đình Thanh


DANH MỤC BẢNG BIỂU
Bảng 2.1 Bảng đặc tả UseCase đăng ký............................................................... 24
Bảng 2.2 Bảng đặc tả UseCase đăng nhập ........................................................... 27
Bảng 2.3 Bảng đặc tả UseCase quên mật khẩu .................................................... 30
Bảng 2.4 Bảng đặc tả UseCase thay đổi thông tin tài khoản ............................... 32
Bảng 2.5 Bảng đặc tả UseCase tìm kiếm ............................................................. 34
Bảng 2.6 Bảng đặc tả UseCase sắp xếp và lọc..................................................... 36
Bảng 2.7 Bảng đặc tả UseCase đánh giá và bình luận ......................................... 37
Bảng 2.8 Bảng đặc tả UseCase giỏ hàng ............................................................. 39

Bảng 2.9 Bảng đặc tả UseCase mua hàng và thanh toán ..................................... 42
Bảng 2.10 Bảng đặc tả UseCase quản lý tài khoản .............................................. 44
Bảng 2.11 Bảng đặc tả UseCase quản lý bài viết................................................. 46
Bảng 2.12 Bảng đặc tả UseCase quản lý sản phẩm ............................................. 48
Bảng 2.13 bảng đặc tả UseCase quản lý đơn hàng .............................................. 50
Bảng 2.14 Bảng đặc tả UseCase thống kê ........................................................... 53
Bảng 2.15 Cấu trúc dữ liệu bảng users ................................................................ 55
Bảng 2.16 Cấu trúc dữ liệu bảng products ........................................................... 56
Bảng 2.17 Cấu trúc dữ liệu bảng producers ......................................................... 56
Bảng 2.18 Cấu trúc dữ liệu bảng product_details ................................................ 57
Bảng 2.19 Cấu trúc dữ liệu bảng porduct_images ............................................... 57
Bảng 2.20 Cấu trúc dữ liệu bảng product_votes .................................................. 58
Bảng 2.21 Cấu trúc dữ liệu bảng comments ........................................................ 58
Bảng 2.22 Cấu trúc dữ liệu bảng notices ............................................................. 58
Bảng 2.23 Cấu trúc dữ liệu bảng orders ............................................................... 59
Bảng 2.24 Cấu trúc dữ liệu bảng order_details .................................................... 59
Bảng 2.25 Cấu trúc dữ liệu bảng payment_methods ........................................... 60
Bảng 2.26 Cấu trúc dữ liệu bảng posts ................................................................ 60
Bảng 2.27 Cấu trúc dữ liệu bảng advertises ......................................................... 60

SVTH: Trần Đình Thanh


MỞ ĐẦU
1. Đặt vấn đề
Xã hội ngày nay đang không ngừng phát triển, song song với đó xu hướng
thương mại điện tử ngày càng phát triển. Mọi việc giờ đây thật đơn giản, chỉ cần
có một chiếc máy tính hay thậm chí chỉ với một chiếc điện thoại thơng minh có kết
nới với internet, việc mua bán, trao đổi thương mại trở nên thật dễ dàng hơn bao
giờ hết với tất cả mọi người chỉ với một vài cái click chuột.

Với việc thương mại điện tử hóa, mọi rào cản về không gian địa lý hay thời
gian làm việc đều được xoá bỏ. Các sản phẩm được giới thiệu rõ dàng dành cho
không chỉ những người mua hàng ở khu vực đó mà trên cả đất nước Việt Nam,
thậm chí là người dân trên toàn thế giới. Người bán giờ đây khơng chỉ cịn ngồi
một chỗ chờ khách hàng tìm đến mà đã tích cực chủ động đứng lên và tìm đến
khách hàng. Và khi sớ lượng khách hàng tăng lên thì nó cũng tỉ lệ thuận với việc
doanh thu sẽ tăng, đó chính là điều mà mọi doanh nghiệp đều hướng tới.
Không chỉ dừng lại vậy, thương mại điện tử còn tạo ra những cơ hội làm ăn
cho những ai không đủ vốn bởi bạn không phải mất tiền thuê mặt bằng ở những
nơi đắt đỏ, thuê nhân viên, đầu tư nhiều cho việc chạy quảng cáo… mà chỉ cần đầu
tư, chăm chút kỹ lưỡng cho một trang web thương mại điện tử với đầy đủ thông
tin về doanh nghiệp của bạn cũng như các tính năng hỗ trợ tìm kiếm mua hàng,
đưa hình ảnh, thơng tin về sản phẩm. Từ đó, khách hàng sẽ có thể tiếp cận thông
tin chủ động hơn, nhờ tư vấn và mua bán dễ dàng, chính xác và nhanh gọn hơn.
Với tình hình cạnh tranh cực kỳ “khốc liệt” như hiện nay giữa các doanh nghiệp
thì rất khó để có thể độc quyền một sản phẩm nào, bởi vậy nơi chinh phục được
khách hàng chính là nơi làm họ cảm thấy thoải mái nhất, hài lịng nhất.
Bằng việc thương mại điện tử hóa, tất cả các doanh nghiệp từ lớn, vừa và nhỏ
đều có thể thoả sức sáng tạo, cạnh tranh cơng bằng. Những ý tưởng kinh doanh
mới táo bạo, những chiến lược tiếp thị, khuyến mại… đều có thể được áp dụng và
hướng trực tiếp đến khách hàng nhanh nhất mà không tớn q nhiều chi phí bởi tất
cả vẫn được gói gọn trong một trang thương mại điện tử.
Trên những cơ sở đó, đồ án khóa luận tớt nghiệp của em thực hiện đề tài “Xây
dựng website thương mại điện tử T-Store” nhằm giải quyết các nhu cầu quảng bá
và kinh doanh sản phẩm hướng trực tiếp đến khách hàng trên mọi miền đất nước.
2. Thương mại điện tử Việt Nam
Thương mại điện tử (E-Commerce) là hình thức kinh doanh trực tuyến sử
dụng nền tảng công nghệ thông tin với sự hỗ trợ của Internet để thực hiện các giao
dịch mua bán, trao đổi, thanh toán trực tuyến. Thương mại điện tử là xu hướng của
thời đại tồn cầu hóa, đây là lĩnh vực tiềm năng để các doanh nghiệp vừa và nhỏ

sinh lợi và phát triển, cơ hội cho những ai ḿn khởi nghiệp kinh doanh theo mơ
hình mới. Mơ hình kinh doanh Thương mại điện tử được xem như một trong những
giải pháp thúc đẩy sự phát triển của nền kinh tế quốc gia.
Theo báo cáo chỉ số Thương mại điện tử Việt Nam (EBI) 2019: “Năm 2018
thương mại điện tử Việt Nam tiếp tục phát triển toàn diện với tốc độ tăng trưởng
SVTH: Trần Đình Thanh

1


trên 30%. Với sự tăng trưởng cao và liên tục từ năm 2015, chúng ta tin tưởng sẽ
đạt được mục tiêu 10 tỷ USD loại hình doanh nghiệp với người tiêu dùng vào năm
2020 nêu trong Kế hoạch tổng thể phát triển thương mại điện tử giai đoạn 2016 –
2020”.

Top 5 Website thương mại điện tử

Doanh thu TMDT bán lẻ từ năm 2015-2019
Dự đoán trong 10 năm sắp tới xu hướng mua sắm trên các nền tảng Thương
mại điện tử sẽ phát triển mạnh mẽ thay thế dần các mô hình kinh doanh truyền
thớng.
3. Mục tiêu và chức năng chính của hệ thớng
Để có một website bán hàng online chắc hẳn giao diện của trang web là một
điều vô cùng quan trọng, giao diện cần phải thân thiện với cả máy tính cũng như
thiết bị di động, dễ sử dụng, bắt mắt và hướng đến thị hiếu cũng như cảm nhận của
khách hàng. Bên cạnh đó, website cần phải có tớc độ xử lý nhanh, chính xác, hiệu
quả và tiện lợi cho cả người mua cũng như người bán - chủ website.
Website cần có các chức năng cơ bản của các trang thương mại điện tử như:
Người mua có thể đăng kí và đăng nhập vào hệ thống để quản lý tài khoản, giỏ
SVTH: Trần Đình Thanh


2


hàng, đơn hàng, tương tác với hệ thống như đánh giá, bình luận hay gửi tin nhắn.
Bên cạnh sử phát triển của mạng xã hội như Google hay Facebook thì việc tích
hợp vào hệ thớng là một lợi thế của website. Việc tích hợp thanh tốn điện tử là
một chức năng không thể thiếu đối với các trang web thương mại điện tử. Về phía
của hàng, người quản trị website có thể quản lý tất cả nội dung của trang web như
là tạo các áp phích quảng cáo cho từng sản phẩm, tạo bài viết thu hút khách hàng,
quản lý sản phẩm trong kho, quản lý đơn hàng, thông kê doanh số bán hàng...
Một website thương mại điện tử luôn luôn phải hướng đến khách hàng, do
vậy sử dụng các yếu tố tương tác trong trang web là một điều quan trọng, cần sử
dụng các hình ảnh mơ phỏng sản phẩm đẹp và chất lượng hay những đoạn video
hoặc các phương tiện truyền thông xã hội là một trong những yếu tố tương tác phổ
biến nhất cần phải nghĩ đến khi thiết kế website bán hàng.
Trên đây là các vấn đề đặt ra để xây dựng một hệ thống bán hàng trực tuyến
trên Internet trong khuôn khổ của đồ án tốt nghiệp.
4. Định hướng giải quyết vấn đề
Dựa trên cơ sở mục tiêu và chức năng chính của hệ thớng, cùng với thời gian
làm việc trực tiếp cũng ngôn ngữ PHP và sự đồng ý của thầy TS. Nguyễn Đình
Lầu, em đã quyết định sử dụng ngôn ngữ PHP là ngơn ngữ chính sử lý logic của
hệ thớng. Kết hợp với một số ngôn ngữ như HTML, CSS, Javascript. để thiết kế
giao diện. Về thanh toán điện tử, em sử dụng API thanh toán điện tử của Ngân
Lượng – một kênh thanh toán online phổ biến nhất nước ta với khả năng bảo mật
và nhiều phương thúc thanh toán tiện lợi cho người dùng. Kết hợp với một sớ tiện
ích của mạng xã hôi như Google và Facebook hứa hẹn sẽ đem đến cho khách hàng
sự tiện lợi và thoải mãi khi sử dụng hệ thống.
Với việc sử dụng các ngơn ngữ lập trình phổ biến và các tiện ích mạng xã hội
kèm theo đã được chứng minh tính hiệu quả qua các website lớn, em tự tin khảng

định hệ thớng có thể đáp ứng hồn tồn các u cầu đặt ra.

SVTH: Trần Đình Thanh

3


CHƯƠNG 1. CƠ SỞ LÝ THUYẾT
1.1 Tóm tắt cơ sở lý thuyết
Ngơn ngữ lập trình PHP
1.1.1.1. Giới thiệu
PHP là viết tắt của từ “PHP: Hypertext Preprocessor”, đây là một ngôn ngữ
lập trình kịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứng
dụng viết cho máy chủ, mã nguồn mở, mục tiêu chính của ngơn ngữ là cho phép
các nhà phát triển viết ra các trang web động một cách nhanh chóng. Nó rất phù
hợp để phát triển web và có thể dễ dàng nhúng vào các trang HTML. Do được tới
ưu hóa cho các ứng dụng web, tốc độ nhanh, nhỏ gọn, cú pháp giống C và Java,
dễ học và thời gian xây dựng sản phẩm tương đối ngắn hơn so với các ngôn ngữ
khác nên PHP đã nhanh chóng trở thành một ngơn ngữ lập trình web phổ biến nhất
thế giới.
1.1.1.2. Lịch sử hình thành và phát triển
PHP được phát triển từ một sản phẩm có tên là PHP/FI do Rasmus Lerdorf
tạo ra năm 1994, ban đầu được xem như là một tập con đơn giản của các mã kịch
bản Perl để theo dõi tình hình truy cập đến bản sơ yếu lý lịch của ông trên mạng.
Vào tháng 11 năm 1997, PHP/FI 2.0 được chính thức cơng bớ, sau một thời gian
khá dài chỉ được công bố dưới dạng các bản beta. Nhưng khơng lâu sau đó, nó đã
được thay thế bởi các bản alpha đầu tiên của PHP 3.0 – phiên bản đầu tiên cho
chúng ta thấy một hình ảnh gần gũi với các phiên bản PHP mà chúng ta được biết
ngày nay.
PHP 3.0 đã chính thức được công bố vào tháng 6 năm 1998, sau thời gian 9

tháng được cộng đồng kiểm nghiệm. PHP 3.0 đã được Andi Gutmans và Zeev
Suraski tạo ra sau khi viết lại hoàn toàn bộ mã nguồn trước đó. Lý do chính mà họ
đã tạo ra phiên bản này là do họ nhận thấy PHP/FI 2.0 hết sức yếu kém trong việc
phát triển các ứng dụng thương mại điện tử mà họ đang xúc tiến trong một dự án
của trường đại học. Một trong những sức mạnh lớn nhất của PHP 3.0 là các tính
năng mở rộng mạnh mẽ của nó. Ngồi khả năng cung cấp cho người dùng cuối
một cơ sở hạ tầng chặt chẽ dùng cho nhiều cơ sở dữ liệu, giao thức và API khác
nhau, các tính năng mở rộng của PHP 3.0 đã thu hút rất nhiều nhà phát triển tham
gia và đề xuất các mô đun mở rộng mới.
Tháng 5 năm 2000, gần 2 năm sau khi bản PHP 3.0 ra đời, phiên bản PHP
4.0 chính thức được cơng bớ. Ngồi tớc độ xử lý được cải thiện rất nhiều, PHP 4.0
đem đến các tính năng chủ yếu khác gồm có sự hỗ trợ nhiều máy chủ Web hơn, hỗ
trợ phiên làm việc HTTP, tạo bộ đệm thông tin đầu ra, nhiều cách xử lý thông tin
người sử dụng nhập vào bảo mật hơn và cung cấp một vài các cấu trúc ngôn ngữ
mới. Với PHP 4, số nhà phát triển dùng PHP đã lên đến hàng trăm nghìn và hàng
triệu site đã công bố cài đặt PHP, chiếm khoảng 20% số tên miền trên mạng
Internet.
Sau sự thành công của PHP 4.0, ngày 13 tháng 7 năm 2004 PHP 5.0 chính
thức ra mắt sau một thời gian khá dài tung ra các bản kiểm tra thử bao gồm Beta,
SVTH: Trần Đình Thanh

4


RC. Mặc dù coi đây là phiên bản sản xuất đầu tiên nhưng PHP 5.0 vẫn cịn một sớ
lỗi trong đó đáng kể là lỗi xác thực HTTP. Ngày 14 tháng 7 năm 2005, PHP 5.1
Beta 3 được PHP Team cơng bớ đánh dấu sự chín muồi mới của PHP với sự có
mặt của PDO, một nỗ lực trong việc tạo ra một hệ thống API nhất quán trong việc
truy cập cơ sở dữ liệu và thực hiện các câu truy vấn. Ngoài ra, trong PHP 5.1, các
nhà phát triển PHP tiếp tục có những cải tiến trong nhân Zend Engine 2, nâng cấp

mô đun PCRE lên bản PCRE 5.0 cùng những tính năng và cải tiến mới trong
SOAP, streams và SPL.
Hiện nay phiên bản tiếp theo của PHP đang được phát triển, Phiên bản PHP
6 được kỳ vọng sẽ lấp đầy những khiếm khuyết của PHP ở phiên bản hiện tại, như
là: hỗ trợ namespace, hỗ trợ Unicode, sử dụng PDO làm API chuẩn cho việc truy
cập cơ sở dữ liệu, các API cũ sẽ bị đưa ra thành thư viện PECL... Phiên bản 6 này
chỉ dùng ở việc nghiên cứu và thử nghiệm. PHP 7 với việc sử dụng bộ nhân Zend
Engine mới PHPNG cho tốc độ nhanh gấp 2 lần. Ngồi ra ở phiên bản này cịn
thêm vào rất nhiều cú pháp, tính năng mới giúp cho PHP trở nên mạnh mẽ hơn.
Những tính năng mới quan trọng có thể kể đến như: khai báo kiểu dữ liệu cho biến,
xác định kiểu dữ liệu sẽ trả về cho 1 hàm, thêm các toán tử mới...
1.1.1.3. Ưu điểm của PHP
PHP là ngơn ngữ mã nguồn mỡ, có thể chạy được trên cả Apache và IIS do
đó so với ASP.NET thì nó phổ biến nhiều hơn, điều đó được minh chứng bằng số
lượng các website được thiết kế bằng ngôn ngữ PHP hiện nay. Cấu trúc PHP cực
kỳ đơn giản, vậy nên bạn sẽ không mất nhiều thời gian để có thể học được. Một
khi đã làm chủ được HTML và C, bạn hồn tồn có thể làm chủ được ngơn ngữ
lập trình này.
Thư viện của PHP vơ cùng phong phú, hệ thớng CMS miễn phí dùng tương
đới nhiều, cũng như được cộng đồng hỗ trợ một cách vô cùng mạnh mẽ. Vậy nên
bạn có thể dễ dàng tìm nguồn tài liệu mình cần cũng như có thể nhận được sự hỗ
trợ một cách nhanh nhất.

SVTH: Trần Đình Thanh

5


Do chạy được trên máy chủ Apache và thường đi cặp cùng với hệ quản trị cơ
sở dữ liệu MySQL nên việc cài đặt môi trường phát triển vô cùng đơn giản, thông

qua một bộ cài đặt duy nhất như là: XAMPP trên windows và linux, MAMP trên
MacOS...

Hình 1.1 Top ngơn ngữ lập trình phổ biến

1.1.1.4. PHP Framework
Framework là một bộ mã nguồn được xây dựng, phát triển và đóng gói –
phân phới bởi các chun gia lập trình hoặc bởi các cơng ty lập trình. Nó sẽ cung
cấp một cấu trúc phát triển chuẩn để các developer dựa vào đó xây dựng và phát
triển các dự án. Đi kèm theo nó là một kho thư viện gồm nhiều lớp/hàm xử lý được
đặt trong các packages hoặc namespace riêng. Các chuyên gia lập trình sử dụng
nhiều kỹ thuật lập trình và giải thuật/thuật toán để xây dựng các lớp xử lý một cách
tới ưu nhất, giải quyết các bài tốn lập trình nhanh chóng và chính xác. Các lớp
trong một framework sẽ làm việc tốt nhất với cấu trúc chuẩn mà framework đó
cung cấp.
Nhắc đến sự hỗ trợ mạnh mẽ của cộng đồng cho ngơn ngữ lập trình PHP thì
chắc chắn phải kể tới sự đa dạng của các PHP Framework: Laravel, Symfony,
Codeigniter, CakePHP... Các PHP Framework đều được xây dựng theo chuẩn mơ
hình MVC (Model – View – Controller) và cung cấp rất nhiều lớp hỗ trợ xử lý về
bảo mật, phân quyền, captcha, view helper, module manager, database, service…
khi đó các lập trình viên sẽ xây dựng, phát triển website một cách dễ dàng và nhanh
chóng.
PHP framework làm cho sự phát triển của những ứng dụng web viết bằng
ngôn ngữ PHP trở nên trôi chảy hơn, bằng cách cung cấp 1 cấu trúc cơ bản để xây
dựng những ứng dụng đó. Hay nói cách khác, PHP framework giúp đỡ các bạn
thúc đẩy nhanh chóng q trình phát triển ứng dụng, giúp bạn tiết kiệm được thời
SVTH: Trần Đình Thanh

6



gian, tăng sự ổn định cho ứng dụng, và giảm thiểu sớ lần phải viết lại mã cho lập
trình viên. Ngồi ra Framework cịn giúp những người mới bắt đầu có thể xây dựng
các ứng dụng ổn định hơn nhờ việc tương tác chính xác giữa các Database, mã
(PHP) và giao diện (HTML) một cách riêng biệt. Điều này cho phép bạn dành
nhiều thời gian để tạo ra các ứng dụng web, hơn là phí thời gian để viết các đoạn
mã lặp lại trong một project.
Ý tưởng chung đằng sau cách thức làm việc của một PHP framework được
kể đến là Model View Controller (MVC). MVC là 1 mơ hình (kiến trúc) trong lập
trình, cho phép tách biệt các mã nghiệp vụ (business logic) và giao diện (UI) thành
các phần riêng biệt, điều này đồng nghĩa với việc ta có thể chỉnh sửa chúng 1 cách
riêng lẻ. Trong cụm từ MVC thì: Model (M) có thể hiểu là phần xử lý các thao tác
về nghiệp vụ (business logic), View (V) được hiểu là phần xử lý lớp giao diện
(presentation layer), và Controller (C) làm nhiệm vụ lọc các request đc gọi từ user,
có chức năng như 1 route: điều chỉnh, phân luồng các yêu cầu để gọi đúng Model
& View thích hợp. Về cơ bản, MVC chia nhỏ q trình xử lý của 1 ứng dụng, vì
thế nên bạn có thể làm việc trên từng thành phần riêng lẻ, trong khi những thành
phần khác sẽ không bị ảnh hưởng tới. Thực chất, điều này giúp đỡ bạn lập trình
PHP nhanh hơn và ít phức tạp hơn.
Trong vài năm qua, PHP đã tiến triển thành 1 ngôn ngữ script được lựa chọn
bời hầu hết các nhà phát triển website, đã có 1 sự bùng nổ về các PHP framework,

Hình 1.2 Top các framework phổ biến

dẫn đến các cuộc tranh luận lớn về đề tài: PHP framework nào là tốt nhất, bởi vì
thực tế khơng phải tất cả các framework đều được xây dựng trên khuôn khổ dành
cho nhiều người sử dụng. Dưới đây là 3 framework được đánh giá là tốt và phổ
biến nhất hiện nay:
❖ Laravel
Laravel ra mắt vào cuối tháng 04-2011 nhưng đã gây được sự chú ý lớn đối

với cộng đồng PHP framework. Laravel được tạo ra bởi Taylor Otwell. Nó là 1
framework khá mới mẻ nhưng bù lại nó có “hướng dẫn sử dụng” (Document) khá
SVTH: Trần Đình Thanh

7


đầy đủ, rõ ràng và dễ hiểu và nhiều ưu điểm hấp dẫn. Chính vì nó ra đời sau, khắc
phục được những thiếu xót của các framework đàn anh, nên nó đang nắm giữ vị
trí sớ một về độ phổ biến hiện nay với nhiều tính năng mạnh mẽ:
- Route trong Laravel thật sự khác biệt, mới mẻ và đầy mạnh mẻ. Mọi URL
đều có thể quản lý trong file route.
- Master layout được tích hợp sẵn cùng Blade template giúp code của chúng
ta trên nên gọn gàng và tiện dụng. Các file layout có thể dẽ dàng extend của nhau
giúp code ngắn gọn, dễ quản lý.
- Migration quản lý database thật dễ dàng khi làm việc đội nhóm.
- Eloquent class đầy mạnh mẽ nổi bật khi xử lý cơ sở dữ liệu quan hệ 1–N và
N–N, tối ưu tất cả các câu truy vấn.
- Composer quản lý và tích hợp các thư viện khác thật hay và không lo lắng
khi thư viện đó bị thay đổi, laravel có đầy đủ các thư viện cơ bản đủ để thực hiện
mọi yêu cầu của chúng ta.
- Document dễ đọc, dễ hiểu và có đầy đủ các ví dụ. Tuy ra đời muộn hơn các
framework khác nhưng laravel lại có hướng dẫn chi tiết và đầy đủ ví dụ ngay tại
trang chủ, các ví vụ để đọc đễ hiểu, cộng đồng phát triển rộng lớn và luôn luôn
được update kịp thời
- Eloquent ORM: đây là một ORM tuyệt vời với khả năng migration data và
làm việc tốt với MySQL, Postgres, SQL Server và SQLite, MongoDB. Các câu
truy vấn database dễ hiểu, nhanh chóng.
- Package-libery phong phú, đa dạng, đáp ứng được hầu hết các nhu cầu cơ
bản của chúng ta.

- User authentication được tích hợp sẵn, lập trình viên chỉ cần gọi class là có
thể sử dụng theo ý ḿn.
❖ Symfony
Ra mắt và năm 2005, là một framework mạnh mẽ, Symfony là sự kết hợp
giữa tính vững bền của PHP, sự tự do của Open Soure với đặc tính dễ bảo trì của
một mã lập trình được thiết kế theo mơ hình MVC (Model-View-Controller).
Symfony là một framework Open Source viết bằng ngôn ngữ lập trình PHP5.
Symfony giúp phát triển ứng dụng web thiết kế theo yêu cầu. Một cộng đồng rộng
lớn các lập trình viên đảm bảo về khả năng phát triển, tính linh động, tự do và tiết
kiệm chi phí cho các dự án được phát triển với Symfony, đây cũng là những đặc
tính mà Sutunam ln chú trọng đưa vào các giải pháp Open Source của mình.
Trên hết, cùng với Drupal, phpBB và ezPublish, Symfony2 hiện đang là một trong
những phiên bản hệ thống quản trị nội dung (CMS) mới nhất được viết bằng PHP.
Symfony có những ưu điểm như:
- Dễ cài đặt và cấu hình trên hầu hết các hệ điều hành và được bảo đảm làm
việc tốt trên các hệ điều hành chuẩn *nix(Linux và Unix) và Windows
- Độc lập với hệ cơ sở dữ liệu
- Dễ dùng trong hầu hết các trường hợp nhưng vẫn đủ mềm dẻo để thích nghi
với những trường hợp phức tạp
SVTH: Trần Đình Thanh

8


- Hoạt động theo cấu hình định trước – lập trình viên chỉ cần cấu hình trong
những trường hợp riêng biệt không theo quy ước.
- Tuân theo những hoạt động và mẫu thiết kế tốt nhất
- Sẵn sàng cho môi trường xí nghiệp – thích nghi với những chính sách và
kiến trúc công nghệ thông tin và đủ ổn định cho những dự án dài hạn.
- Mã rất dễ đọc, với những chú thích kiểu phpDocumentor, dễ dàng bảo trì

- Dễ dàng mở rộng, cho phép tích hợp với những thư viện khác
❖ CodeIgniter
CodeIgniter là một nền tảng ứng dụng web nguồn mở được viết bằng ngôn
ngữ PHP bởi Rick Ellis (CEO của EllisLab, Inc). Phiên bản đầu tiên được phát
hành ngày 28.02.2006, phiên bản hiện tại: 3.1.4 (phát hành ngày 2017.03.20). Ý
tưởng xây dựng CodeIgniter được dựa trên Ruby on Rails, một nền tảng ứng dụng
web được viết bằng ngôn ngữ Ruby. Hiện tại, CodeIgniter đang được phát triển
bởi ExpressionEngine Development Team thuộc EllisLab, Inc. CodeIgniter có
những điểm nổi bật như:
- Được thiết kế theo mơ hình Model-View-Controller: Mơ hình MVC giúp
tách thành phần hiển thị giao diện (presentation) và xử lý (business logic) của một
phần mềm thành những thành phần độc lập, từ đó giúp cho việc thiết kế, xử lý và
bảo trì mã nguồn dễ dàng, đồng thời tăng khả năng mở rộng của phần mềm.
CodeIgniter vận dụng mơ hình này trong thiết kế, giúp tách biệt các tập tin giao
diện với các tập tin xử lý dữ liệu, nâng cao khả năng quản lý và dễ bảo trì.
- Nhỏ gọn: Gói cài đặt chỉ 404KB (khơng bao gồm phần User Guide). So với
các PHP framework khác như CakePHP (1.3MB), Symfony (5.08MB) hay Zend
Framework (5.66MB)…kích thước của CodeIgniter giúp giảm thiểu đáng kể
không gian lưu trữ.
- Tốc độ nhanh: CodeIgniter được đánh giá là PHP framework có tốc độ
nhanh nhất hiện nay. Bằng cơ chế lưu nội dung vào bộ đệm (cache), kiểm tra bộ
đệm trước khi tiến hành thực hiện yêu cầu, CodeIgniter giảm số lần truy cập và xử
lý dữ liệu, từ đó tới ưu hóa tớc độ tải trang.
- Miễn phí: CodeIgniter được phátt hành dưới giấy phép Apache/BSD mở
rộng, cho phép người dùng tự do thay đổi, phát triển và phân phối mã nguồn.
- Hỗ trợ Search Engine Optimization: Cấu trúc URL của CodeIgniter rất thân
thiện với các robot tìm kiếm.
- Hệ thớng thư viện phong phú: CodeIgniter cung cấp các thư viện phục vụ
cho những tác vụ thường gặp nhất trong lập trình web, chẳng hạn như truy cập cơ
sở dữ liệu, gửi email, kiểm tra dữ liệu, quản lý session, xử lý ảnh…đến những chức

năng nâng cao như XML-RPC, mã hóa, bảo mật…
- Bảo mật hệ thống: Cơ chế kiểm tra dữ liệu chặt chẽ, ngăn ngừa XSS và
SQL Injection của CodeIgniter giúp giảm thiểu các nguy cơ bảo mật cho hệ thống.
➢ Trên đây liệt kê một số tính năng, đặc điểm nổi bật của 3 php framework
phổ biến hiện nay, mỗi Framework có một tính năng và đặc điểm riêng, tùy theo
từng đặc điểm của dự án, khách hàng mà ta có thể chọn một framework phù hợp.
SVTH: Trần Đình Thanh

9


Trong khuôn khổ đồ án tốt nghiệp này, em đã lựa chọn Laravel để phát triển đồ
án.
1.2 Laravel Framework
Giới thiệu
Laravel ra mắt vào cuối tháng 04-2011 nhưng đã gây được sự chú ý lớn đối
với cộng đồng PHP framework. Laravel được tạo ra bởi Taylor Otwell. Nó là 1
framework khá mới mẻ nhưng bù lại nó có “hướng dẫn sử dụng” ( Document ) khá
đầy đủ, rõ ràng và dễ hiểu và nhiều ưu điểm hấp dẫn. Nếu bạn đã từng làm việc
với các framework khác hoặc chỉ là người mới bắt đầu tìm hiểu php framework thì
việc tiếp cận laravel framework khơng phải là vấn đề khó khăn gì. Laravel
Framework vẫn sử dụng cấu trúc MVC và trên nền tảng lập trình hướng đới tượng
OOP đồng thời kế thừa được sức mạnh của các đàn anh và đem đến những tính
năng mới của PHP 5.3 trở lên.
Nhưng cũng chính vì ra đời muộn màng như thế đã buộc nó phải học hỏi cái
hay từ các PHP Framework đàn anh đi trước, khắc phục những thiếu xót của các
framework khác như symfony (laravel dùng thư viện của symfony) và đặc biệt là
CI. Không những học hỏi từ các PHP Framework, nó cịn học cái hay từ Ruby on
Rails, ASP.NET MVC, và Sinatra.
Vào khoảng Tháng 3 năm 2015, các lập trình viên đã có một cuộc bình chọn

PHP framework phổ biến nhất, Laravel đã giành vị trí quán quân cho PHP
framework phổ biến nhất năm 2015, theo sau lần lượt là Symfony2, Nette,
CodeIgniter, Yii2 vào một sớ khác. Trước đó, Tháng 8 năm 2014, Laravel đã trở
thành project PHP phổ biến nhất và được theo dõi nhiều nhất trên Github. Laravel
được phát hành theo giấy phép MIT, với source code được lưu trữ tại Github.
Lịch sử hình thành và phát triển
Bản phát hành beta đầu tiên của Laravel được phát hành vào ngày 9 tháng 6
năm 2011, tiếp theo là bản phát hành Laravel 1 sau đó trong cùng một tháng.
Laravel 1 bao gồm hỗ trợ tích hợp cho xác thực, bản địa hóa (localisation), models,
views, sessions, định tuyến (routing) và các cơ chế khác, nhưng thiếu hỗ trợ cho
các bộ điều khiển (controller) ngăn cản nó trở thành một MVC framework thực sự.
Laravel 2 được phát hành vào tháng 9 năm 2011, mang lại nhiều cải tiến khác
nhau từ tác giả và cộng đồng. Các tính năng chính mới bao gồm sự hỗ trợ cho các
bộ điều khiển (controller), nó đã làm cho Laravel 2 trở thành một framework tuân
thủ đầy đủ MVC, hỗ trợ sẵn cho nguyên lý điều khiển (IoC) và một hệ thống
templating gọi là Blade. Nhược điểm, hỗ trợ cho các gói của bên thứ ba (thirdparty packages) đã được gỡ bỏ trong Laravel 2.
Laravel 3 được phát hành vào tháng 2 năm 2012 với một loạt các tính năng
mới bao gồm giao diện dòng lệnh – command-line interface (CLI) có tên Artisan,
hỗ trợ sẵn cho nhiều hệ thống quản lý cơ sở dữ liệu, database migrations, hỗ trợ
xử lý events và hệ thớng đóng gói được gọi là Bundles. Kể từ bước nhảy vọt ở
phiên bản này, ta chứng kiến sự gia tăng người dùng (developer) và mức độ phổ
biến của Laravel tăng chóng mặt.
SVTH: Trần Đình Thanh

10


Laravel 4, được đặt tên là Illuminate , được phát hành vào tháng 5 năm 2013.
Nó được viết thành một khung hồn chỉnh của Laravel framework, di chuyển bớ
cục của nó thành một tập các gói riêng biệt được phân phới thơng qua Composer,

phục vụ như một trình quản lý gói ứng dụng. Cách bớ trí như vậy đã cải thiện khả
năng mở rộng của Laravel 4. Các tính năng mới khác trong bản phát hành Laravel
4 bao gồm database seeding, hỗ trợ hàng đợi (queue) tin nhắn, hỗ trợ cho việc gửi
các loại email khác nhau và hỗ trợ xóa các bản ghi cơ sở dữ liệu dạng SoftDelete
(khơng xóa hẳn khỏi database).
Laravel 5 được phát hành vào tháng 2 năm 2015 là kết quả của những thay
đổi nội bộ đã kết thúc trong việc thay đổi bản phát hành Laravel 4.3 trong tương
lai. Các tính năng mới trong bản phát hành Laravel 5 bao gồm hỗ trợ lập kế hoạch
(scheduling) các tác vụ được thực hiện định kỳ thơng qua gói có tên Scheduler,
một lớp trừu tượng (abstraction layer) có tên Flysystem cho phép lưu trữ từ xa cách
dùng tương tự như trên local, cải thiện việc xử lý tài sản gói thơng qua Elixir (giờ
đổi tên thành Laravel Mix), hỗ trợ xác thực bên thứ 3 đơn giản thơng qua gói.
Laravel 5 cũng giới thiệu cấu trúc cây thư mục mới cho các ứng dụng đã phát triển.
Vừa qua, ngày 3 tháng 9 năm 2019 Laravel đã phát hành chính thức phiên bản 6
với nhiều tính năng cải tiến so với phiên bản 5.
Ưu điểm của Laravel
Tốc độ xử lý nhanh: Sự ra đời của Laravel như một luồng gió mới thổi vào
cộng đồng framework PHP. Nền tảng này có thể hỗ trợ tạo nên các trang web lớn,
dự án lớn. Rất nhiều công ty công nghệ đã sử dụng nền tảng để phát triển các sản
phẩm cho công ty của họ.
Dễ dàng sử dụng: Một trong những lý do khiến Laravel nhanh chóng được
cộng đồng người dùng đón nhận và sử dụng nhiều là do nó rất dễ để có thể sử
dụng. Ngay cả khi bạn chỉ mới chỉ có những kiến thức cơ bản nhất về lập trình
web với PHP, thì chỉ mất vài giờ là bạn có thể bắt tay vào việc làm một project
nhỏ với Laravel.
Mã nguồn mở: Laravel framework được xây dựng với mã nguồn mỡ và hồn
tồn miễn phí. Do đó, bạn không cần phải quan tâm đến việc trả thêm phí khi mở
rộng ứng dụng hay trang web của mình. Mỗi lần nền tảng này được cập nhật, bạn
lại có cơ hội khám phá thêm nhiều tính năng độc đáo và ứng dụng vào các sản
phẩm cơng nghệ mà mình đang triển khai.

Được xây dựng theo đúng chuẩn MVC: MVC là tiêu chuẩn thiết kế web, bất
kì website nào được đánh giá theo đúng chuẩn này. thì đều sẽ hoạt động tớt và ít
nhiều mang lại những hiệu quả thực sự dành cho cơng ty, đơn vị sở hữu nó.
Mơ hình MVC: là một kiến trúc phần mềm hay mơ hình thiết kế được sử
dụng trong kỹ thuật phần mềm. Nó giúp cho các developer tách ứng dụng của họ
ra 3 thành phần khác nhau Model, View và Controller. Mỗi thành phần có một
nhiệm vụ riêng biệt và độc lập với các thành phần khác. Với tiêu chuẩn này, các
cấu trúc và cách tổ chức code trong dự án của bạn sẽ được sắp xếp một cách hợp
lý dễ dàng cho việc duy trì cũng như phát triển về lâu dài.
SVTH: Trần Đình Thanh

11


Tích hợp sẵn nhiều tính năng: Bản thân Laravel đã cung cấp cho người dùng
rất nhiều các nhóm tính năng giúp q trình phát triển trở nên nhanh chóng hơn rất
nhiều lần.
Module đa dạng: Laravel được xây dựng dựa trên hơn 20 thư viện khác nhau.
Hiểu được cách thiết kế framework khiến các lập trình hồn tồn có thể đóng góp
cho framework cũng như mở rộng chúng một cách dễ dàng.
Tính bảo mật cao: Để giúp lập trình viên có thể tối đa thời gian tập trung vào
việc phát triển các tính năng mình cần, Laravel đã cung cấp sẵn cho người dùng
các tính năng bảo mật cơ bản như: ORM của Laravel sử dụng PDO thay vì mysqli
để chớng lại tấn công SQL Injection, Laravel sử dụng một field token ẩn để chống
lại tấn công kiểu CSRF, Các biến được đưa ra view mặc định đều được Laravel
escape để tránh tấn cơng XSS. Do đó, khi thiết kế web với Laravel, bạn không cần
quá lo lắng về khả năng bảo mật hay mất nhiều thời gian để cài đặt hay tối ưu thêm
cho tính năng này. Tất cả đã có sẵn với Laravel.
Cộng đồng người dùng rộng lớn: Như nhiều nền tảng mã nguồn mở khác,
Laravel Framwork cũng có cộng đồng người dùng rộng rãi và sẵn sàng hỗ trợ bạn

trong quá trình thiết lập và vận hành dự án. Đặc biệt việc fix bug hay tìm lỗi trở
nên nhanh chóng, dễ dàng và tiết kiệm thời gian hơn rất nhiều.
1.3 HTML, CSS và JavaScript
HTML
HTML là chữ viết tắt cho “HyperText Markup Language”, hay là "Ngôn ngữ
Đánh dấu Siêu văn bản" là một ngôn ngữ đánh dấu được thiết kế ra để tạo nên các
trang web với các mẩu thơng tin được trình bày trên World Wide Web. Cùng với
CSS và JavaScript, HTML tạo ra bộ ba nền tảng kỹ thuật cho World Wide Web.
HTML được định nghĩa như là một ứng dụng đơn giản của SGML và được sử
dụng trong các tổ chức cần đến các yêu cầu xuất bản phức tạp. HTML đã trở thành
một chuẩn Internet do tổ chức World Wide Web Consortium (W3C) duy trì.
HTML được sáng tạo bởi Tim Berners-Lee, nhà vật lý học của trung tâm
nghiên cứu CERN ở Thụy Sĩ. Anh ta đã nghĩ ra được ý tưởng cho hệ thống
hypertext trên nền Internet. Anh xuất bản phiên bản đầu tiên của HTML trong năm
1991 bao gồm 18 tag HTML. Từ đó, mỗi phiên bản mới của HTML đều có thêm
tag mới và attributes mới. Nâng cấp mới nhất gần đây là vào năm 2014, khi ra mắt
chuẩn HTML5.
CSS
CSS là chữ viết tắt cho “Cascading Style Sheets”, được sử dụng để mô tả
giao diện và định dạng của một tài liệu viết bằng ngơn ngữ đánh dấu (markup). Nó
cung cấp một tính năng bổ sung cho HTML. Nó thường được sử dụng với HTML
để thay đổi style của trang web và giao diện người dùng. Nó cũng có thể được sử
dụng với bất kỳ loại tài liệu XML nào bao gồm cả XML đơn giản, SVG và XUL.
CSS được phát triển bởi W3C (World Wide Web Consortium) vào năm 1996,
nhằm mục đích: Hạn chế tối thiểu việc làm rối mã HTML của trang Web bằng các
thẻ quy định kiểu dáng khiến mã nguồn của trang Web được gọn gàng hơn, tách
SVTH: Trần Đình Thanh

12



nội dung của trang Web và định dạng hiển thị, dễ dàng cho việc cập nhật nội dung;
Tạo ra các kiểu dáng có thể áp dụng cho nhiều trang Web, giúp tránh phải lặp lại
việc định dạng cho các trang Web giống nhau.
Giống như HTML, CSS không thực sự là một ngơn ngữ lập trình mà là một
ngơn ngữ định kiểu – style. Điều này có nghĩa là nó cho phép bạn áp dụng kiểu có
chọn lọc cho các phần tử trong tài liệu HTML.
JavaScript
JavaScript là một ngôn ngữ lập trình kịch bản đa nền tảng (cross-platform),
hướng đới tượng. Nó chủ yếu được sử dụng để tăng cường cung cấp trải nghiệm
thân thiện hơn với người dùng website như là bao gồm các trang web cập nhật tự
động, cải tiến giao diện người dùng như menu và hộp thoại, hình động, đồ họa 2D
và 3D, bản đồ tương tác, trình phát video... JavaScript là một ngôn ngữ nhỏ và nhẹ,
chạy trong mơi trường máy chủ lưu trữ (trình duyệt web). Nó có thể được kết nới
với các đới tượng của mơi trường để cung cấp kiểm sốt chương trình đới với
chúng.
JavaScript được phát triển bởi Brendan Eich tại Hãng truyền thơng Netscape
với cái tên đầu tiên Mocha, rồi sau đó đổi tên thành LiveScript, và cuối cùng thành
JavaScript. Giống Java, JavaScript có cú pháp tương tự C, nhưng nó gần với Self
hơn Java. Hiện nay phiên bản mới nhất của JavaScript là ECMAScript 7 với nhiều
cải tiến vượt bậc so với phiên bản tiền nhiệm.
JavaScript là ngôn ngữ kịch bản phía máy khách (client-side) duy nhất. Do
đó, nó được sử dụng trên hầu hết các trang web mà bạn nhìn thấy trên internet. Tuy
nhiên cú pháp của nó vơ cùng lộn xộn và khó làm chủ, do đó Jquery – một thư viện
của JavaScript ra đời nhằm giúp lập trình viên xây dựng những chức năng có sử
dụng Javascript trở nên dễ dàng hơn như: đơn giản hóa việc duyệt tài liệu HTML,
xử lý sự kiện, hoạt ảnh và tương tác Ajax để phát triển web nhanh chóng... jQuery
là một bộ công cụ JavaScript gọn nhẹ nhưng đầy mạnh mẽ, được chứng minh qua
hơn 90% các website trên thế giới sử dụng (trừ các website chạy bằng JavaScript
Framework).

1.4 Môi trường phát triển ứng dụng
Apache WebServer
Apache là một phần mềm mã nguồn mở miễn phí được cài đặt trên các máy
chủ web server (phần cứng) để xử lý các yêu cầu gửi tới máy chủ dưới giao thức
HTTP. Tên chính thức của Apache là Apache HTTP Server, được điều hành và
phát triển bởi Apache Software Foundation. Apache là một trong số những web
server lâu đời và đáng tin cậy nhất, phiên bản đầu tiên đã được ra mắt từ hơn 20
năm trước, tận những năm 1995.
Apache WebServer phân tích các yêu cầu từ trình duyệt, sau đó xử lý u cầu
với các file ngơn ngữ lập trình như là PHP, Python, Java,... thành file HTML và
trả về cho người dùng web trên trình duyệt để hiển thị.

SVTH: Trần Đình Thanh

13


MySQL
MySQL là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất thế giới
và được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng, đặc
biệt là các ứng dụng website và nó thường đi kết hợp với ngơn ngữ lập trình PHP
để xây dựng các ứng dụng website. MySQL được các hệ thớng web ưa chuộng là
vì tớc độ xử lý cao, dễ sử dụng, ổn định, và tương thích với các hệ điều hành thông
dụng hiện nay như Linux, Window, Mac OS X, Unix, FreeBSD…
XAMPP
Apache và MySQL là hai yếu tố cần thiết cấu thành nên môi trường phát triển
ứng dụng web bằng ngơn ngữ PHP. Do đó XAMPP ra đời nhằm mục đích kết hợp
tất cả các yếu tố cấu thành WebServer trong một chương trình.
XAMPP là chương trình tạo máy chủ Web (Web Server) được tích hợp sẵn
Apache, PHP, MySQL, FTP Server, Mail Server và các công cụ như

phpMyAdmin. XAMPP có chương trình quản lý khá tiện lợi, cho phép chủ động
bật tắt hoặc khởi động lại các dịch vụ máy chủ bất kỳ lúc nào. Nhìn chung XAMPP
được xem là một bộ cơng cụ hồn chỉnh dành cho lập trình viên PHP trong việc
thiết lập và phát triển các website.
1.5 Thanh toán điện tử Ngân Lượng
NgânLượng.vn là Ví điện tử và Cổng Thanh toán Trực tuyến (TTTT) tiên
phong và uy tín hàng đầu tại Việt Nam, cả về sản phẩm dịch vụ, độ phủ thị trường
và lưu lượng thanh toán. Được phát triển bởi Nexttech Group (tiền thân là
PeaceSoft Group) từ năm 2009. Ngân Lượng cho phép các cá nhân và doanh
nghiệp gửi và nhận tiền thanh tốn trên Internet một cách nhanh chóng, an tồn và
tiện lợi.
Giải pháp tích hợp dùng cho các website bán hàng online, sàn thương mại
điện tử (Wordpress, Joomla, Magento,..) cần tích hợp chức năng thanh toán trực
tuyến, cho phép người mua thanh toán trên các kênh Online như ATM, Internet
Banking, Thẻ Quốc tế (visa, maste, JCB, Amex), QRCode, Chuyển khoản ngân
hàng... Các phương thức thanh toán hỗ trợ bao gồm:
- Thẻ quốc tế( VISA, Master, JCB, Amex )
- Thẻ ATM nội địa
- Internet Banking
- QR-Code Mobile Banking
- Ví điện tử trong và ngoài nước
- Chuyển khoản ngân hàng
- Tiền mặt tại quầy
- Thẻ trả trước
Hiện tại Ngân Lượng đang cung câp ba hình thức tích hợp thanh tốn trên
Website là:

SVTH: Trần Đình Thanh

14



- Checkout Tiêu chuẩn: là các hình thức người dùng chọn thanh tốn thì sẽ
được chuyển hướng sang Ngân Lượng để tiến hành thanh tốn.

Hình 1.3 Quy trình checkout tiêu chuẩn

- Checkout Nâng cao: là các hình thức thanh tốn được hiển thị ngay trên
website người bán.

Hình 1.4 Quy trình checkout nâng cao

SVTH: Trần Đình Thanh

15


×