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

XÂY DỰNG WEBSITE BÁN QUẦN ÁO

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 (2.39 MB, 69 trang )

UBND TỈNH QUẢNG NAM
TRƢỜNG ĐẠI HỌC QUẢNG NAM
KHOA CÔNG NGHỆ THÔNG TIN

----------

TRẦN THỊ PHƢỢNG
XÂY DỰNG WEBSITE BÁN QUẦN ÁO

KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC

Quảng Nam, tháng 5 năm 2019

UBND TỈNH QUẢNG NAM
TRƢỜNG ĐẠI HỌC QUẢNG NAM
KHOA: CÔNG NGHỆ THÔNG TIN

----------

KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC

TÊN ĐỀ TÀI:
XÂY DỰNG WEBSITE BÁN QUẦN ÁO

SINH VIÊN THỰC HIỆN
TRẦN THỊ PHƢỢNG
MSSV: 2115031025

CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN
KHOÁ: 2015 – 2019


CÁN BỘ HƢỚNG DẪN
TH.S HỒ TUẤN ANH

Quảng Nam, tháng 5 năm 2019

LỜI CẢM ƠN

Để hồn thành khóa luận này, em xin tỏ lòng biết ơn sâu sắc đến Thầy giáo
Th.S Hồ Tuấn Anh, đã tận tình hƣớng dẫn trong suốt q trình làm khóa luận
tốt nghiệp.

Em chân thành cảm ơn quý Thầy, Cô trong khoa Công Nghệ Thông Tin,
Trƣờng Đại học Quảng Nam đã tận tình truyền đạt kiến thức trong những năm
em học tập. Với vốn kiến thức đƣợc tiếp thu trong q trình học khơng chỉ là nền
tảng cho q trình nghiên cứu khóa luận mà cịn là hành trang qúy báu để em
bƣớc vào đời một cách vững chắc và tự tin.

Trong quá trình làm khóa luận tốt nghiệp, do trình độ cịn hạn hẹp, đề tài
rộng, thời gian có hạn, nên khơng tránh khỏi những thiếu sót, mong q Thầy Cơ
góp ý kiến để em học hỏi thêm đƣợc nhiều kinh nghiệm.

Em xin chân thành cảm ơn!

Tam kỳ, Ngày 10 tháng 5 năm 2019
Sinh viên thực hiện

Trần Thị Phƣợng

MỤC LỤC


PHẦN 1. MỞ ĐẦU ................................................................................................ 1
1.1. Lý do chọn đề tài ............................................................................................. 1
1.2. Mục tiêu của đề tài .......................................................................................... 1
1.3. Đối tƣợng và phạm vi nghiên cứu................................................................... 2
1.4. Phƣơng pháp nghiên cứu................................................................................. 2
1.5. Cấu trúc đề tài ................................................................................................. 2
PHẦN 2. NỘI DUNG NGHIÊN CỨU .................................................................. 3
CHƢƠNG 1: CƠ SỞ LÝ THUYẾT ...................................................................... 3
1.1. Giới thiệu về đề tài .......................................................................................... 3
1.2. Giới thiệu các ngơn ngữ lập trình.................................................................... 3
1.2.1. Giới thiệu về MySQL................................................................................... 3
1.2.1.1. Tổng quan về MySQL ..............................................................................................3
1.2.1.2. Các ƣu điểm và nhƣợc điểm của MySQL ...........................................................4
1.2.2. Giới thiệu về PHP ........................................................................................ 4
1.2.3. Giới thiệu về Xampp .................................................................................... 7
1.3. Laravel framework .......................................................................................... 7
1.3.1. Giới thiệu về Laravel.................................................................................... 7
1.3.2. Các tính năng của Laravel............................................................................ 8
1.3.3. Biểu đồ các php framework sử dụng trong hai năm gần đây....................... 9
1.3.4. Tại sao nên chọn Laravel ............................................................................. 9
1.3.5. Các chặn đƣờng phát triển ........................................................................... 9
1.3.6. Yêu cầu máy chủ để chạy Laravel ............................................................. 11
1.3.7. Ƣu và nhƣợc điểm của Laravel .................................................................. 11
1.3.8. Một số lệnh console phổ biến đƣợc cung cấp của Laravel ........................ 11
1.3.9. Cấu trúc thƣ mục của laravel ..................................................................... 13
CHƢƠNG 2 : MÔ TẢ HỆ THỐNG .................................................................... 15
2.1. Khảo sát hiện trạng........................................................................................ 15
2.2. Môi trƣờng hệ thống ..................................................................................... 16
2.3. Mô tả hệ thống bán quần áo .......................................................................... 16
2.4. Đặc tính ngƣời dùng...................................................................................... 18


2.5. Yêu cầu về chức năng ................................................................................... 18
2.6. Yêu cầu phi chức năng .................................................................................. 19
2.7. Kế hoạch thực hiện........................................................................................ 19
CHƢƠNG 3: PHÂN TÍCH THIẾT KẾ HỆ THỐNG.......................................... 21
3.1. Xác định Actor và vai trò của Actor ............................................................. 21
3.2. Sơ đồ Use Case ............................................................................................. 21
3.2.1. Use Case ..................................................................................................... 21
3.2.2. Đặc tả Use Case ......................................................................................... 22
3.2.3. Sơ đồ Use Case .......................................................................................... 27
3.3. Biểu đồ tuần tự .............................................................................................. 28
3.3.1. Biểu đồ tuần tự đăng nhập ......................................................................... 28
3.3.2. Biểu đồ tuần tự đăng ký ............................................................................. 28
3.3.3. Biểu đồ tuần tự tìm kiếm............................................................................ 29
3.3.4. Biểu đồ tuần tự xem thông tin sản phẩm ................................................... 29
3.3.5. Biểu đồ tuần tự quản lý khách hàng........................................................... 30
3.3.6. Biểu đồ tuần tự thanh toán ......................................................................... 30
3.3.7. Biểu đồ tuần tự quản lý sản phẩm .............................................................. 31
3.3.8. Biểu đồ tuần tự quản lý nhân viên ............................................................. 31
3.3.9. Biểu đồ tuần tự quản lý đơn hàng .............................................................. 32
3.3.10. Biểu đồ tuần tự thống kê .......................................................................... 32
3.4. Biểu đồ hoạt động ......................................................................................... 33
3.4.1. Biểu đồ hoạt động đăng ký......................................................................... 33
3.4.2. Biểu đồ hoạt động đăng nhập..................................................................... 33
3.4.3. Biểu đồ hoạt động quản lý nhân viên......................................................... 33
3.4.4. Biểu đồ hoạt động tìm kiếm ....................................................................... 34
3.4.5. Biểu đồ hoạt động quản lý sản phẩm ......................................................... 34
3.4.6. Biểu đồ hoạt động đặt hàng........................................................................ 35
3.4.7. Biểu đồ hoạt động quản lý thống kê .......................................................... 35
3.4.8. Biểu đồ hoạt động quản lý đơn hàng ......................................................... 36

3.4.9. Biểu đồ hoạt động thanh toán .................................................................... 36
3.5. Biểu đồ lớp .................................................................................................... 37

3.5.1. Xác định các lớp và đặc tả dữ liệu ............................................................ 37
3.5.1.1. Bảng user....................................................................................................................37
3.5.1.2. Bảng type_product...................................................................................................37
3.5.1.3. Bảng size ....................................................................................................................38
3.5.1.4. Bảng role ....................................................................................................................38
3.5.1.5. Bảng product_images .............................................................................................38
3.5.1.6. Bảng product_detail ................................................................................................38
3.5.1.7. Bảng products ...........................................................................................................39
3.5.1.8. Bảng manufacturer ..................................................................................................39
3.5.1.9. Bảng gender...............................................................................................................40
3.5.1.10. Bảng color ...............................................................................................................40
3.5.1.11. Bảng category_product ........................................................................................40
3.5.1.12. Bảng bill_detail......................................................................................................40
3.5.1.13. Bảng bill ..................................................................................................................41
3.5.1.14. Bảng silde ................................................................................................................42
3.5.2. Class Diagram ............................................................................................ 42
3.6. Biểu đồ trạng thái .......................................................................................... 43
3.6.1. Biểu đồ trạng thái quản lý nhân viên ......................................................... 43
3.6.2. Biểu đồ trạng thái quản lý sản phẩm .......................................................... 44
3.6.3. Biểu đồ trạng thái quản lý đơn hàng .......................................................... 45
3.6.4. Biểu đồ trạng thái đăng nhập ..................................................................... 46
3.6.5. Biểu đồ trạng thái giỏ hàng ........................................................................ 46
3.6.6. Biểu đồ trạng thái loại sản phẩm................................................................ 46
3.7. Cơ sở dữ liệu hệ thống .................................................................................. 48
CHƢƠNG 4: DEMO CHƢƠNG TRÌNH ............................................................ 49
4.1. Một số giao diện chính từ trang ngƣời dùng ................................................. 49
4.1.1. Giao diện trang chủ .................................................................................... 49

4.1.2. Giao diện trang chi tiết ............................................................................... 49
4.1.3. Giao diện trang giỏ hàng ............................................................................ 50
4.1.4. Giao diện trang đăng ký ............................................................................. 51
4.1.5. Giao diện trang tìm kiếm sản phẩm ........................................................... 51

4.1.6. Giao diện trang thanh toán ......................................................................... 52
4.1.7. Giao diện trang loại sản phẩm.................................................................... 52
4.2. Một số giao diện trang quản trị ..................................................................... 53
4.2.1. Giao diện trang chủ quản trị....................................................................... 53
4.2.2. Giao diện trang danh sách sản phẩm.......................................................... 53
4.2.3. Giao diện trang thêm sản phẩm.................................................................. 54
4.2.4. Giao diện trang đơn hàng ........................................................................... 55
4.2.5. Giao diện trang chi tiết đơn hàng ............................................................... 55
4.2.6. Giao diện trang thống kê đơn hàng ............................................................ 56
4.2.7. Giao diện hóa đơn thanh tốn .................................................................... 56
PHẦN 3. KẾT LUẬN .......................................................................................... 57
3.1. Về mặt kiến thức ........................................................................................... 57
3.2. Về kinh nghiệm thực tiễn .............................................................................. 57
3.3. Ƣu điểm và hạn chế của đề tài ...................................................................... 57
3.4. Hƣớng phát triển ........................................................................................... 57
PHẦN 4. TÀI LIỆU THAM KHẢO.................................................................... 58

DANH MỤC HÌNH ẢNH

Hình 1: Biểu đồ các framework sử dụng qua các năm .......................................... 9
Hình 2: Cấu trúc thƣ mục của Laravel ................................................................. 13
Hình 3: Sơ đồ hệ thống ........................................................................................ 16
Hình 4: Sơ đồ Use Case ....................................................................................... 27
Hình 5: Biểu đồ tuần tự đăng nhập ...................................................................... 28
Hình 6: Biểu đồ tuần tự đăng ký .......................................................................... 28

Hình 7: Biểu đồ tuần tự tìm kiếm......................................................................... 29
Hình 8 : Biểu đồ tuần tự xem thơng tin sản phẩm ............................................... 29
Hình 9: Biểu đồ tuần tự quản lý khách hàng........................................................ 30
Hình 10: Biểu đồ tuần tự thanh tốn .................................................................... 30
Hình 11: Biểu đồ tuần tự quản lý sản phẩm......................................................... 31
Hình 12: Biểu đồ tuần tự quản lý thơng tin nhân viên ......................................... 31
Hình 13: Biểu đồ tuần tự quản lý đơn hàng ......................................................... 32
Hình 14: Biểu đồ tuần tự thống kê ....................................................................... 32
Hình 15: Biểu đồ hoạt động đăng ký ................................................................... 33
Hình 16: Biểu đồ hoạt động đăng nhập................................................................ 33
Hình 17: Biểu đồ hoạt động quản lý nhân viên.................................................... 33
Hình 18: Biểu đồ hoạt động tìm kiếm .................................................................. 34
Hình 19: Biểu đồ hoạt động quản lý sản phẩm .................................................... 34
Hình 20: Biểu đồ hoạt động đặt hàng .................................................................. 35
Hình 21: Biểu đồ hoạt động thống kê .................................................................. 35
Hình 22: Biểu đồ hoạt động quản lý đơn hàng .................................................... 36
Hình 23: Biểu đồ hoạt động thanh tốn ............................................................... 36
Hình 24: Class Diagram ....................................................................................... 42
Hình 25: Biểu đồ trạng thái thêm nhân viên ........................................................ 43
Hình 26: Biểu đồ trạng thái sửa nhân viên........................................................... 43
Hình 27: Biểu đồ trạng thái xóa nhân viên .......................................................... 43
Hình 28: Biểu đồ trạng thái thêm sản phẩm......................................................... 44
Hình 29: Biểu đồ trạng thái sửa sản phẩm ........................................................... 44
Hình 30: Biểu đồ trạng thái xóa sản phẩm ........................................................... 44

Hình 31: Biểu đồ trạng thái thêm đơn hàng ......................................................... 45
Hình 32: Biểu đồ trạng thái sửa đơn hàng ........................................................... 45
Hình 33: Biểu đồ trạng thái xóa đơn hàng ........................................................... 45
Hình 34: Biểu đồ trạng thái đăng nhập ................................................................ 46
Hình 35: Biểu đồ trạng thái giỏ hàng ................................................................... 46

Hình 36: Biểu đồ trạng thái thêm loại sản phẩm.................................................. 46
Hình 37: Biểu đồ trạng thái sửa loại sản phẩm .................................................... 47
Hình 38: Biểu đồ trạng thái xóa loại sản phẩm.................................................... 47
Hình 39: Cơ sở dữ liệu hệ thống .......................................................................... 48
Hình 40: Giao diện trang chủ ............................................................................... 49
Hình 41: Giao diện trang chi tiết.......................................................................... 50
Hình 42: Giao diện trang giỏ hàng ....................................................................... 50
Hình 43: Giao diện trang đăng ký ........................................................................ 51
Hình 44: Giao diện trang tìm kiếm sản phẩm ...................................................... 51
Hình 45: Giao diện trang thanh tốn .................................................................... 52
Hình 46: Giao diện trang loại sản phẩm .............................................................. 52
Hình 47: Giao diện trang chủ quản trị.................................................................. 53
Hình 48: Giao diện trang danh sách sản phẩm..................................................... 53
Hình 49: Giao diện trang thêm sản phẩm ............................................................ 54
Hình 50: Giao diện trang đơn hàng ...................................................................... 55
Hình 51: Giao diện trang chi tiết đơn hàng .......................................................... 55
Hình 52: Giao diện trang thống kê đơn hàng ....................................................... 56
Hình 53: Giao diện hóa đơn thanh tốn ............................................................... 56

DANH MỤC BẢNG

Bảng 1:Một số lệnh console phổ biển đƣợc cung cấp của Laravel...................... 13
Bảng 2: Bảng user ................................................................................................ 37
Bảng 3: Bảng type_product.................................................................................. 38
Bảng 4: Bảng size................................................................................................. 38
Bảng 5: Bảng role................................................................................................. 38
Bảng 6: Bảng product_images ............................................................................. 38
Bảng 7: Bảng product_detail................................................................................ 39
Bảng 8: Bảng products ......................................................................................... 39
Bảng 9: Bảng manufacturer ................................................................................. 40

Bảng 10: Bảng giới tính ....................................................................................... 40
Bảng 11: Bảng color............................................................................................. 40
Bảng 12: Bảng category_product......................................................................... 40
Bảng 13: Bảng bill_detail..................................................................................... 41
Bảng 14: Bảng bill ............................................................................................... 42
Bảng 15: Bảng slide ............................................................................................. 42

PHẦN 1. MỞ ĐẦU

1.1. Lý do chọn đề tài
Công nghệ thông tin phát triển ngày càng hiện đại và đổi mới không ngừng,

bằng việc chinh phục hết đỉnh cao này đến đỉnh cao khác. Mạng internet đang trở
thành mạng truyền thông có sức ảnh hƣởng lớn nhất, khơng thể thiếu trong tất cả
các hoạt động của con ngƣời trong việc truyền tải và trao đổi dữ liệu. Không nhƣ
ngày xƣa, ngày nay mọi việc liên quan đến thông tin ngày càng dễ dàng hơn cho
ngƣời sử dụng, bằng việc kết nối internet và một dịng dữ liệu truy tìm, thì ngay
lập tức cả kho tài nguyên không chỉ trong nƣớc mà ngồi nƣớc hiện ra khơng chỉ
bằng ngơn ngữ mà cả bằng hình ảnh, âm thanh. Chính vì lợi ích từ internet đã
thúc đẩy sự ra đời và phát triển của thƣơng mại điện tử, làm biến đổi bộ mặt văn
hoá cũng nhƣ nâng cao chất lƣợng cuộc sống của con ngƣời, các hoạt động thông
thƣờng nhƣ sản xuất, kinh doanh và các doanh nghiệp cũng phát triển. Cuộc sống
con ngƣời ngày càng phát triển thì nhu cầu sống của con ngƣời cũng đƣợc nâng
cao và những nhu cầu đơn giản nhƣng cũng rất thiết thực. Đó là nhu cầu ăn, ở và
mặc, đây là vấn đề cũng đang là một bài toán của các nhà kinh doanh, làm sao để
đáp ứng nhu cầu của con ngƣời để cải thiện đời sống ngày càng cao. Chính lẽ đó
để đáp ứng những nhu cầu đó của con ngƣời trên cơ sở kế thừa những trang web
bán hàng khác, em xây dựng nên một website bán quần áo để đáp ứng nhu cầu
mua sắm của mọi ngƣời, giúp họ tiết kiếm kiệm đƣợc thời gian, chi phí trong
việc phải đi ra các shop, các cửa hàng hay các chợ truyền thống để mua và tìm

kiếm sản phẩm. Thay vào đó chỉ việc ngồi ở nhà với chiếc máy tính đã kết nối
internet, mọi ngƣời có thể thỏa sức tìm kiếm, lựa chọn sản phẩm áo quần mà
mình u thích mọi lúc mọi nơi. Giúp cho ngƣời quản trị dễ dàng trong việc phân
quyền quản lý, quản lý khách hàng và các đơn đặt hàng của họ. Vì vậy, đó là lý
do em chọn đề tài “Xây dựng website bán quần áo”.
1.2. Mục tiêu của đề tài

Xây dựng Website bán quần áo để quảng cáo và bán hàng quần áo trên
mạng nhằm tăng thêm hiệu quả kinh doanh của cửa hàng. Đồng thời, thu hút
ngƣời tiêu dùng đến cửa hàng, từ đó có thể mở rộng quy mơ cửa hàng.

1

1.3. Đối tƣợng và phạm vi nghiên cứu
- Quy trình quản lý bán các mặt hàng quần áo.
- Các vấn đề cần giải quyết trong quá trình quản lý số lƣợng quần áo trong

cửa hàng, tra cứu tìm kiếm các mặt hàng quần áo. Từ đó tiến hành xây dựng cơ
sở dữ liệu và khai thác dữ liệu phục vụ công tác quản lý.

- Theo dõi và thống kê các mặt hàng quần áo đã bán, đáp ứng yêu cầu phát
triển của cửa hàng trong tƣơng lai.
1.4. Phƣơng pháp nghiên cứu

- Sử dụng những phƣơng pháp nghiên cứu cụ thể nhƣ: logic, phân tích, tổng
hợp, thống kê.

- Phƣơng pháp lý luận thơng qua việc tìm hiểu tài liệu từ sách, giáo trình,
internet.
1.5. Cấu trúc đề tài


Gồm 4 chƣơng:
Chƣơng 1: Cơ sở lý thuyết
Chƣơng 2: Mô tả hệ thống
Chƣơng 3: Phân tích và thiết kế hệ thống
Chƣơng 4: Demo chƣơng trình

2

PHẦN 2. NỘI DUNG NGHIÊN CỨU
CHƢƠNG 1: CƠ SỞ LÝ THUYẾT

1.1. Giới thiệu về đề tài
Việc kinh doanh mua bán là nhu cầu không thể thiếu đối với mọi chúng ta.

Trong thời đại cạnh tranh hiện nay việc giới thiệu sản phẩm kinh doanh đến từng
cá nhân với chi phí thấp, hiệu quả cao là một vấn đề nan giải của ngƣời kinh
doanh cùng với nhu cầu mua sắm với những sản phẩm đa chủng loại, đạt chất
lƣợng, và hợp túi tiền của ngƣời tiêu dùng vì vậy thƣơng mại điện tử đã đƣợc ra
đời và dần dần phát triển trên toàn thế giới. Việc phổ biến các sản phẩm của cửa
hàng kinh doanh đến khách hàng thông qua các bảng báo giá tuy nhiên chi phí
khá cao vì số lƣợng sản phẩm ngày một đa dạng và giá cả thay đổi liên tục và
tính phổ biến khơng cao chƣa đáp ứng đƣợc nhu cầu ngƣời dùng. Mặt khác cửa
hàng cịn gặp nhiều khó khăn nhƣ chƣa quản lý đƣợc ngƣời dùng, thông tin nhà
sản xuất, cập nhật giá sản phẩm, quản lý sản phẩm… Nắm bắt đƣợc tình hình
trên em tiến hành thiết kế trang web mua bán hàng online để mong sao giúp cho
các cửa hàng phát triển nhanh hơn, giúp cho chủ cửa hàng có thể quản lý cửa
hàng của mình một cách tốt hơn.
1.2. Giới thiệu các ngơn ngữ lập trình


1.2.1. Giới thiệu về MySQL
1.2.1.1. Tổng quan về MySQL
MySQL là một phần mềm quản trị cơ sở dữ liệu mã nguồn mở, miễn phí

nằm trong nhóm LAMP (Linux-Apache-MySQL-PHP). MySQL rất phổ biến
đƣợc các nhà phát triển ƣa chuộng trong quá trình phát triển ứng dụng. MySQL
là cơ sở dữ liệu cao, ổn định và dễ sử dụng, hoạt động trên nhiều hệ điều hành
cung cấp một hệ thống lớn các hàm tiện ích rất mạnh. Với tốc độ và tính bảo mật
cao, MySQL rất thích hợp cho các ứng dụng có truy cập cơ sở dữ liệu trên
Internet. Vì MySQL miễn phí hồn tồn cho nên có thể tải MySQL từ trang chủ .

MySQL có nhiều phiên bản cho các hệ điều hành khác nhau: Phiên bản
Win32 cho các hệ điều hành dòng Window, Linux, MacOS X, Unix, FreeBSD,
NetBSD, Novell, NetWare, SGI, Irix… MySQL là một trong những ví dụ rất cơ
bản về hệ quản trị cơ sở dữ liệu quan hệ sử dụng ngôn ngữ truy vấn có cấu trúc

3

(SQL). MySQL đƣợc sử dụng hỗ trợ cho việc bổ trợ PHP và nhiều ngơn ngữ
khác, nó làm nơi lƣu trữ những thông tin trên các trang web viết bằng PHP.

1.2.1.2. Các ƣu điểm và nhƣợc điểm của MySQL
a. Các ưu điểm của MySQL

MySQL là một hệ quản trị cơ sở dữ liệu nhanh nhỏ gọn, bảo mật và dễ sử
dụng, thƣờng đƣợc sử dụng cho các ứng dụng nhỏ và trung bình. Đƣợc sử dụng
cho các ứng dụng client/server với máy chủ mạnh nhƣ UNIX, window NT,
windows Server đƣợc biết trên máy chủ UNIX. MySQL hỗ trợ các điểm vào là
ANSI SQL92 và ODBC mức 0-2. MySQL hỗ trợ nhiều ngôn ngữ cho việc thông
báo lỗi nhƣ Czec, Dutc, English, Estonia, French, German, Hungarian, Italian,

Norwegian Nynorsk… Ngôn ngữ mặc định cho liệu là ISO-8859-1 (Latin 1)
muốn thay đổi phải sửa trong mã nguồn. Ngơn ngữ lập trình sử dụng viết các
hàm API để thâm nhập cơ sở dữ liệu MySQL có thể là C, Perl, PHP…Các bảng
(table) trong cơ sở dữ liệu MySQL có kích thƣớc rất lớn. Kích thƣớc lớn nhất
trong một bảng tối thiểu là 4Gb và cịn phụ thuộc vào kích thƣớc lớn nhất của
một file do hệ điều hành quy định. Cơ sở dữ liệu MySQL rất dễ quản lý và có tốc
độ xử lý cao hơn ba bốn lần so với các hệ quản trị cơ sở dữ liệu khác. MySQL là
một hệ quản trị cơ sở dữ liệu mơ hình quan hệ, có mã nguồn mở. Cung cấp miễn
phí trên các máy chủ UNIX, OS/2 và cả trên windows.

b. Các nhược điểm của MySQL
- Khơng có mơi trƣờng đồ họa.
- MySQL không cho phép thục hiện các câu lệnh SQL select truy vấn con.
Không hỗ trợ Stored Procedures, Trigger, transactions, Foreignkeys và View nhƣ
các hệ quản trị cơ sở dữ liệu khác.
1.2.2. Giới thiệu về PHP
PHP (Hypertext Preprocessor) 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ở, dùng cho mục đích tổng quát. Rất thích hợp với web và có thể dễ
dàng nhúng vào 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

4

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.

Lịch sử ra đời của PHP
- PHP 3.0: Là 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 đã đƣợc Andi
Gutmans và Zeev Suraski tạo ra năm 1997 sau khi viết lại hồn tồ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 trƣớc 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. Trong một nỗ
lực hợp tác và bắt đầu xây dựng dựa trên cơ sở ngƣời dùng đã có của PHP/FI,
Andi, Rasmus và Zeev đã quyết định hợp tác và công bố PHP 3.0 nhƣ là phiên
bản thế hệ kế tiếp của PHP/FI 2.0, và chấm dứt phát triển PHP/FI 2.0. 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. Hồn tồn có thể kết luận đƣợc rằng đây chính là điểm mấu chốt dẫn
đến thành cơng vang dội của PHP 3.0. Các tính năng khác đƣợc giới thiệu trong
PHP 3.0 gồm có hỗ trợ cú pháp hƣớng đối tƣợng và nhiều cú pháp ngôn ngữ nhất
quán khác.

- PHP 4.0: Vào mùa đông năm 1998, ngay sau khi PHP 3.0 chính thức đƣợc
cơng bố, Andi Gutmans và Zeev Suraski đã bắt đầu bắt tay vào việc viết lại phần
lõi của PHP. Mục đích thiết kế là nhằm cải tiến tốc độ xử lý các ứng dụng phức
tạp, và cải tiến tính mơ đun của cơ sở mã PHP. Những ứng dụng nhƣ vậy đã chạy
đƣợc trên PHP 3.0 dựa trên các tính năng mới và sự hỗ trợ nhiều các cơ sở dữ
liệu và API của bên thứ ba, nhƣng PHP 3.0 đã không đƣợc thiết kế để xử lý các
ứng dụng phức tạp nhƣ thế này một cách có hiệu quả. Với PHP 4.0, 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.

- PHP 5.0: Sự thành công hết sức to lớn của PHP 4.0 đã khơng làm cho
nhóm phát triển PHP tự mãn. Cộng đồng php đã nhanh chóng giúp họ nhận ra


5

những yếu kém của PHP 4 đƣợc biết với khả năng hỗ trợ lập trình hƣớng đối
tƣợng (OOP), xử lý XML không hỗ trợ giao thức máy khách mới của MySQL
4.1 và 5.0, hỗ trợ dịch vụ web yếu. Những điểm này chính là mục đích để Zeev
và Andi viết Zend Engine 2.0, lõi của PHP 5.0. Một thảo luận trên Slashdot đã
cho thấy việc phát triển PHP 5.0 có thể đã bắt đầu vào thời điểm tháng 12 năm
2002 nhƣng những bài phỏng vấn Zeev liên quan đến bản này thì đã có mặt trên
mảng Internet vào khoảng tháng 7 năm 2002. Ngày 29 tháng 6 năm 2003, PHP
5.0 Beta 1 đã chính thức đƣợc cơng bố để cộng đồng kiểm nghiệm. Đó cũng là
phiên bản đầu tiên của Zend Engine 2.0. Phiên bản Beta 2 sau đó đã ra mắt vào
tháng 10 năm 2003 với sự xuất hiện của hai tính năng rất đƣợc chờ đợi: Iterators,
Reflection nhƣng namespaces một tính năng gây tranh cãi khác đã bị loại khỏi
mã nguồn. Ngày 21 tháng 12 năm 2003: PHP 5.0 Beta 3 đã đƣợc công bố để
kiểm tra với việc phân phối kèm với Tidy, bỏ hỗ trợ Windows 95, khả năng gọi
các hàm PHP bên trong XSLT, sửa chữa nhiều lỗi và thêm khá nhiều hàm mới.
PHP 5.0 bản chính thức đã ra mặt ngày 13 tháng 7 năm 2004 sau một chuỗi khá
dài các bản kiểm tra thử bao gồm Beta 4, RC1, RC2, RC3. 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.

- PHP 6: Hiện nay phiên bản tiếp theo của PHP đang đƣợc phát triển, PHP
6 bản sử dụng thử đã có thể đƣợc tham khảo tại địa chỉ .
Phiên bản PHP 6 đƣợc kỳ vọng sẽ lấp đầy những lỗi của PHP phiên bản hiện tại
ví dụ : 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...

- PHP 7: PHP7 là một phiên bản của ngôn ngữ PHP đƣợc giới thiệu vào
ngày 3 tháng 9 năm 2015, đây là phiên bản mới nhất và đƣợc trông đợi nhất bởi
có nhiều sự thay đổi về cú pháp, bổ sung các thƣ viện hiện đại giúp ngôn ngữ

PHP trở nên đa dạng hơn.

Để tránh sự nhầm lẫn giữa các version thì sau này chúng ta hay gọi PHP
version 7 là PHP 7, cịn các version trƣớc đó là PHP. PHP 7 ra đời với nhiều tính
năng nổi bật nhƣ:

- Tốc độ PHP 7 nhanh gấp hai lần

6

- Chỉ rõ kiểu dữ liệu cho biến
- Xác định kiểu trả về cho hàm
- Có nhiều tốn tử mới
- Bổ sung Anonymous Class
- Xóa đi một số extension
1.2.3. Giới thiệu về Xampp
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. Không nhƣ Appserv, 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.
Xampp là một mã nguồn mở máy chủ web đa nền đƣợc phát triển
bởi Apache Friends, bao gồm chủ yếu là Apache HTTP Server, MariaDB
database, và interpreters dành cho những đối tƣợng sử dụng ngôn ngữ PHP.
Xampp là viết tắt của Cross-Platform (đa nền tảng-X), Apache (A), MariaDB
(M), PHP (P) và Perl (P). Xampp phân bố Apache nhẹ và đơn giản, khiến các lập
trình viên có thể dễ dàng tạo ra máy chủ web local để kiểm tra và triển khai trang
web của mình. Tất cả mọi thứ cần cho phát triển một trang web - Apache (ứng
dụng máy chủ), cơ sở dữ liệu (MariaDB) và ngôn ngữ lập trình (PHP) đƣợc gói
gọn trong một tệp. Xampp cũng là một đa nền tảng vì có thể chạy tốt trên
cả Linux, Windows và Mac. Hầu hết việc triển khai máy chủ web thực tế đều sử

dụng cùng thành phần nhƣ Xampp nên rất dễ dàng để chuyển từ máy chủ local
sang máy chủ online. 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,
nó tích hợp các thành phần quan trọng và tƣơng thích lẫn nhau nhƣ:
+ Apache
+ PHP (tạo môi trƣờng chạy các tập script *.php)
+ MySQL (hệ quản trị dữ liệu mysql)
1.3. Laravel framework
1.3.1. Giới thiệu về Laravel
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

7

kiến trúc 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. Laravel là một framework khá mới mẻ
cho lập trình viên, phiên bản đầu tiên đƣợc phát hành vào tháng 6/2011.

Ngay từ khi ra mắt, Laravel đã đƣợc chú ý bởi nhiều đặc điểm hay nhƣ
Eloquent ORM, model and relationships, routing, caching, session, blade
template.

1.3.2. Các tính năng của Laravel
- Route trong Laravel thật sự khác biệt, mới và đầy mạnh mẽ. Mọi url điều

hƣớng đều có thể quản lý trong route của laravel.
- Master layout đƣợc tích hợp sẵn cùng Blade template giúp code của chúng


ta trở nên gọn gàng và tiện dụng. Các file layout có thể dễ dàng extends của nhau
giúp code ngắn gọn và dễ dàng quản lý.

- Migration quản lý database thật dễ dàng khi làm việc với độ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

n - n, 1-1 tối ƣu tất cả các câu truy vấn cơ sở dữ liệu.
- Composer quản lý và tích hợp các thƣ viện khác thật nhanh 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ụ dễ đọc dễ hiểu, cộng đồng phát triển rộng lớn và luôn
luôn đƣợc update kịp thời khi có lỗ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, SQL Server, SQLite, các câu truy vấn database dễ hiểu,
lấy dữ liệu nhanh chóng.
- Package - Library 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.

8

- 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 ý muốn.

- Và một số tính năng khác.
1.3.3. Biểu đồ các php framework sử dụng trong hai năm gần đây

Hình 1: Biểu đồ các framework sử dụng qua các năm
1.3.4. Tại sao nên chọn Laravel


- Với những ƣu điểm vƣợt trội và thừa hƣởng ƣu điểm và thế mạnh từ
những framework đi trƣớc, có cộng đồng sử dụng rộng lớn, sử dụng ORM để
thao tác với database dễ dàng, tích hợp composer làm công cụ quản lý code.

- Có số lƣợng ngƣời sử dụng nhiều tại thời điểm hiện tại.
- Hỗ trợ autoload theo namespace.
- Document đƣợc laravel hỗ trợ khá dễ dàng tìm hiểu cho ngƣời mới bắt
đầu.
- Các kênh tƣơng tác với cơ sỡ dữ liệu ngắn gọn và thân thiện.
- Quản lý layout thật sự đơn giản với Blade Template.
- Dễ dàng tích hợp các thƣ viện khác vào dự án, và đƣợc quản lý dễ dàng
với Composer.
- Bộ điều khiển định tuyến (routers) khá mạnh mẽ.
1.3.5. Các chặn đƣờng phát triển
Vào tháng 6/2011 Laravel [7] đƣợc phát hành phiên bản beta nhằm tạo nên
một lựa chọn mới thay thế cho Codeiginter. Phiên bản 1.0 đƣợc phát hành vào
cùng tháng với phiên bản beta này, Laravel cung cấp hàng tá các tính năng mà
Codeiginter đang thiếu nhƣ: xác thực ngƣời dùng, đa ngôn ngữ, MVC. Tuy nhiên

9

tại phiên bản 1.0 Laravel vẫn chƣa đƣa vào controllers điều này khiến nó chƣa
thực sự chuẩn MVC.

Laravel 2.0 đƣợc phát hành vào tháng 9/2011 với việc chuẩn hóa mơ hình
MVC, controllers đƣợc đƣa vào, hỗ trợ thiết kế IOC, và giới thiệu một tính năng
mới là template engine Blade. Một thiếu sót và nhƣợc điểm của phiên bản này là
loại bỏ các thƣ viện bên ngoài, điều này khiến Laravel 2.0 chƣa thực sự hấp dẫn
lắm so với CodeIginer.


Laravel 3.0 đƣợc ra mắt vào tháng 2/2012 với một loạt tính năng hấp dẫn
nhƣ việc thêm vào mơi trƣờng code dòng lệnh CLI với tên artisan. Bổ sung tính
năng kết nối với các hệ quản trị cơ sở dữ liệu khác. Tạo xóa sửa tổ chức dữ liệu
bằng các phiên bản trong hệ thống migrate. Tại phiên bản này tính năng hấp dẫn
Events (tạo sự kiện) cũng là một điểm mạnh khiến Laravel phát triển đƣợc một
cộng đồng ngƣời dùng.

Laravel 4.0 với tên mã lluminate đƣợc phát hành vào tháng 5/2013 đây là
một cải tiến vƣợt bậc, loại bỏ toàn bộ những khuyết điểm của các phiên bản
trƣớc. Đƣợc viết lại hoàn toàn theo chuẩn MVC chặt chẽ, Laravel 4.0 cung cấp
một dàn khung cơ bản mạnh mẽ cho các ứng dụng đƣợc viết trên đó. Có thể nói
đây là phiên bản mới hoàn toàn, tất cả các thành phần tổ chức thƣ viện đều đƣợc
đóng gói và hỗ trợ qua composer, chính điều này khiến cho áp dụng các thƣ viện
bên ngoài dễ dàng hơn bao giờ khác, tách biệt rõ ràng từng phần thƣ viện. Hỗ trợ
hàng đợi, nâng cao tính năng Migrate, hỗ trợ nhiều phƣơng thức gửi mail…

Laravel 5.0 phát hành tháng 2/2015 và đã lọt vào top các framework đƣợc
lựa chọn ƣu tiên khi phát triển các ứng dụng doanh nghiệp bằng PHP. Các tính
năng mới trong bản phát hành Laravel 5.0 bao gồm hỗ trợ lập kế hoạch 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 có
tên Flysystem cho phép lƣu trữ từ xa theo cách tƣơng tự nhƣ các hệ thống tệp cục
bộ, cải thiện việc xử lý assets thông qua Elixir. Xác thực đƣợc xử lý bên ngoài
đơn giản thơng qua gói Socialite tùy chọn. Laravel 5.0 cũng giới thiệu cấu trúc
cây thƣ mục nội bộ mới cho các ứng dụng đã phát triển. Vào tháng 3 năm 2015,
một khảo sát SitePoint đã liệt kê Laravel là khung công tác PHP phổ biến nhất.

10



×