Thì vi c tin h c hóa công ả ọtác qu n lý là nhu c u c n thiả ầ ầ ết, đem lại hi u qu rõ r t, giúp cho vi c qu n lý c a các ả ả cơ quan, doanh nghi p, trở nên dễ dàng, hi u quả, chính xác
Trang 1ĐỒ ÁN MÔN H C Ọ
GVHD: TH.S NGUY N H U Ễ Ữ VĨNH
SVTH: TRẦ N TRUNG L Ễ MSSV: 1724801030068
BÌNH DƯƠNG 11/20 20
Trang 2TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT VIỆN KỸ THUẬT – CÔNG NGHỆ
ĐỒ ÁN MÔN H C Ọ
GVHD: TH.S NGUY N HỄ ỮU VĨNH
SVTH: TRẦ N TRUNG L Ễ MSSV: 1724801030068
BÌNH DƯƠNG 11/20 20
Trang 3TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT VIỆN KỸ THUẬT – CÔNG NGH Ệ
NHẬN XÉT VÀ CH ẤM ĐIỂM CỦA GIẢ NG VIÊN
Họ và tên giảng viên: Nguyễn Hữu Vĩnh
Tên đề tài: XÂY DỰNG WEBSITE BÁN MÁY CHƠI GAME CHO CÔNG TY
LK TẠI BÌNH DƯƠNG
Nội dung nh n xét: ậ
Điểm:
Bằng s : ố
Bằng ch : ữ
GIẢNG VIÊN CHẤM
(Ký, ghi rõ h ọ tên)
ThS Nguyễn Hữu Vĩnh
Trang 4Bài đồ án “Xây d ng website bán máự y chơi game cho công ty LK tại Bình
Dương” đã hoàn thành tuy nhiên vẫn còn thiếu sót, rất mong nhận được iến đ ng
g p và gi p đỡ c a thầy c và bạn b để người thực hi n đề tài c thể hoàn thành tốt nhất bài báo cáo này
Trang 5LỜI NÓI ĐẦU
Ngày nay, v i s phát tri n m nh m c a khoa h c kớ ự ể ạ ẽ ọ ỹ thuật và nh ng ng d ng ữ ứ ụ
c a nó trong cu c sộ ống, đặc bi t là trong vi c hỗ trợ qu n lý Thì vi c tin h c hóa công ả ọtác qu n lý là nhu c u c n thiả ầ ầ ết, đem lại hi u qu rõ r t, giúp cho vi c qu n lý c a các ả ả
cơ quan, doanh nghi p, trở nên dễ dàng, hi u quả, chính xác hơn
Hãy thử nhìn vào chiếc máy tính cá nhân c a mình,chỉ với một vài thao tác đơn giản, thậm chí là một c click chuột, bạn c thể đọc báo, xem phim, nghe đài,
và cả mua sắm qua mạng, c thể n i cả thế giới th ng tin gần như hi n ra trước mắt bạn
Các doanh nghi p muốn tiến hành bán hàng trực tuyến, thì điều đầu tiên họ cần đến là một website chất lượng, với một h thống th ng tin được thiết ế tốt, giao
di n đẹp, dễ sử dụng và an toàn
Với lí do đ , được sự hướng dẫn và gi p đỡ c a thầy Nguyễn Hữu Vĩnh, em đã chọn đề tài “Xây d ng Website bán ự máy chơi game cho công ty LK tại Bình
Dương” làm đề tài cho tiểu luận c a mình
Với một số mục tiêu hi thiết ế trang web:
- Bước đầu xây dựng website bán hàng trực tuyến nhằm quảng bá rộng rãi cácsản phẩm
- R t ngắn hoảng cách giữa nhà phân phối và người tiêu dùng, đồng thời tiết
i m thời gian chi phí một cách đáng ể th ng qua những th ng tin phù hợp nhấtvới nhu cầu c a hách hàng
Trong quá trình th c hi n ti u lu n cuự ể ậ ối h a này em đã nhận được sự gi p đỡ
chỉ bảo tận tình c a các thầy, c giáo, đã tận tình chỉ bảo trong suốt quá trình h c tại ọtrường, đặc bi t em xin chân thành cảm ơn Thầy Nguyễn Hữu Vĩnh đã hưỡng dẫn
trong quá trình làm ti u lu n ể ậ
Tuy nhiên, do thời gian hạn hẹp, mặc dù đã nỗ lực hết sức mình nhưng chắc rằng h tránh hỏi những thiếu s t Em rất mong nhận được sự th ng cảm, những lời
g p và chỉ bảo tận tình c a qu Thầy C và các bạn
Trang 6Mục Lục
LỜI C ẢM ƠN 3
LỜI NÓI ĐẦU 4
DANH M C HÌNH Ụ 6
DANH M C BỤ ẢNG 7
DANH SÁCH CÁC KÝ T , CHỰ Ữ VIẾ T T T Ắ 8
CHƯƠNG 1 KHẢO SÁT VÀ THU THẬP YÊU CẦU 9
1.1 Khảo sát hi n tr ng ạ 9
1.2 Xác định yêu cầu: 9
1.3 Các ch c ứ năng c a bài toán 11
CHƯƠNG 2 GIỚI THIỆU CÔNG NGHỆ 13
2.1 Gi i thi u PHP ớ 13
2.2 Lịch s phát tri n c a PHP ử ể 13
2.3 Gi i thi u Laravel ớ 16
2.4 Lịch s phát tri n Laravel ử ể 16
2.5 Tại sao l i ch n PHP ?ạ ọ 18
2.6 Giới thi u MySQL 18
2.7 Tại sao ch n MySQL? ọ 19
CHƯƠNG 3 PHÂN TÍCH HỆ THỐNG 20
3.1 Sơ đồ Use case 20
3.2 Đặc t Use case ả 21
3.3 Sơ đồ hoạt động 27
3.4 Sơ đồ tuần tự 37
CHƯƠNG 4 THIẾT KẾ CƠ SỞ DỮ LIỆU 44
4.1 Danh sách các b ng ả 44
4.2 Chi ti t m i b ng ế ỗ ả 44
CHƯƠNG 5 THIẾT KẾ VÀ XÂY DỰNG WEBSITE 48
5.1 Giao di n khách hàng 48
5.2 Giao di n chi ti t s n ph m ế ả ẩ 49
5.3 Giao di n đăng 49
5.4 Giao di n đăng nhậ 50 p 5.5 Giao di n gi hàng ỏ 50
Trang 75.6 Giao di n thanh toán 51
5.7 Giao di n tìm ki m ế 51
5.8 Giao di n qu n lý ả 52
5.9 Giao di n Trang Admin 52
5.10 Giao di n quản l đơn hàng 53
5.11 Giao di n Thêm danh m c s n ph m ụ ả ẩ 53
5.12 Giao di n li t kê danh m c s n ph m ụ ả ẩ 54
5.13 Giao di n c p nh t danh m c s n ph m ậ ậ ụ ả ẩ 54
5.14 Giao di n thêm Thương hi u s n ph m ả ẩ 54
5.15 Giao di n li t ê thương hi u sản phẩm 54
5.16 Giao di n c p nh t danh m c s n ph m ậ ậ ụ ả ẩ 56
5.17 Giao di n Thêm s n ph m ả ẩ 56
5.18 Giao di n li t kê s n ph m ả ẩ 56
5.19 Giao di n c p nh t s n ph m ậ ậ ả ẩ 57
CHƯƠNG 6 KẾT LUẬN 58
6.1 K t quế ả đạt được 58
6.2 H n ch cạ ế a đề tài 58
6.3 Hướng phát tri n cể a đề tài 58
TÀI LI U THAM KH O Ệ Ả 59
DANH M C HÌNH Ụ Hình 2- 1: Sơ đồ Use case t ng quan ổ 20
Hình 2- 2: Sơ đồ hoạt động chức năng Đăng nhậ 27 p Hình 2- 3: Sơ đồ hoạt động chức năng quản l thương hi u s n ph m ả ẩ 28
Hình 2- 4: Sơ đồ hoạt động chức năng quản lý s n ph m ả ẩ 29
Hình 2- 5: Sơ đồ hoạt động chức năng quản lý danh m c s n ph m ụ ả ẩ 30
Hình 2- 6: Sơ đồ hoạt động chức năng quản l đơn hàng 31
Hình 2- 7: Sơ đồ hoạt động chức năng đăng 32
Hình 2- 8: Sơ đồ hoạt động chức năng tìm iế 33 m Hình 2- 9: Sơ đồ hoạt động chức năng đặt hàng 34
Hình 2- 10: Sơ đồ hoạt động chức năng xem th ng tin sản ph m ẩ 35
Hình 2- 11: Sơ đồ hoạt động chức năng Xem đơn hàng 36
Hình 2- 12: Sơ đồ hoạt động chức năng thanh toán 37 Hình 2- 14: Sơ đồ tuầ ự chức năng đăng nhập 37 n t Hình 2- 15: Sơ đồ tuầ ự chức năng quản l thương hi u sản phẩm 38 n t Hình 2- 16: Sơ đồ tuầ ự chức năng quản lý sản phẩm 39 n t
Trang 8Hình 2- 17: Sơ đồ tuầ ự chức năng quản lý danh mục 39 n t Hình 2- 18: Sơ đồ tuầ ự chức năng quản l đơn hàng 40 n t Hình 2- 19: Sơ đồ tuầ ự chức năng đăng 40 n t Hình 2- 20: Sơ đồ tuầ ự chức năng tím iếm 41 n t
Hình 2- 21: Sơ đồ tuầ ự chức năng đặt hàngn t 41
Hình 2- 22: Sơ đồ tuầ ự chức năng xem th ng tin sản phẩm 42 n t Hình 2- 23: Sơ đồ tuầ ự chức năng xem đơn hàng 42 n t Hình 2- 24: Sơ đồ tuầ ự chức năng thanh toán 43 n t Hinh 4- 1: Giao di n trang ch 48
Hinh 4- 2: Giao di n chi ti t s n ph m ế ả ẩ 49
Hinh 4- 3: Giao di n đăng 49
Hinh 4- 4: Giao di n đăng nhậ 50 p Hinh 4- 5: Giao di n gi hàng ỏ 50
Hinh 4- 6: Giao di n thanh toán 51
Hinh 4- 7: Giao di n tìm ki m ế 51
Hinh 4- 9: Giao di n đăng nhập admin 52
Hinh 4- 10: Giao di n trang Admin 52
Hinh 4- 11: Giao di n quản l đơn hàng 53
Hinh 4- 12: Giao di n thêm danh m c s n ph m ụ ả ẩ 53
Hinh 4- 13: Giao di n li t kê danh m c s n ph m ụ ả ẩ 54
Hinh 4- 14: Giao di n c p nh t danh m c s n phậ ậ ụ ả ẩm 54
Hinh 4- 15: Giao di n thêm thương hi u sản phẩm 54
Hinh 4- 16: Giao di n li t ê thương hi u s n ph m ả ẩ 55
Hinh 4- 17: Giao di n c p nh t danh m c s n phậ ậ ụ ả ẩm 56
Hinh 4- 18: Giao di n thêm s n ph m ả ẩ 56
DANH M ỤC BẢNG Bảng 3- 1: B ng Tbl_admin ả 44
Bảng 3- 2: B ng Tbl_brand ả 45
Bảng 3- 3: B ng tbl_category_procduct ả 45
Bảng 3- 4: B ng tbl_customer ả 46
Bảng 3- 5: B ng tbl_order ả 46
Bảng 3- 6: B ng tbl_order_details ả 46
Bảng 3- 7: B ng tbl_payment ả 47
Trang 10CHƯƠNG 1 KHẢO SÁT VÀ THU THẬP YÊU CẦU
1.1 Khảo sát hi n trệ ạng
1.1.1 Tính c p thi t cấ ế ủa đề tài
Cùng v i s phát tri n mớ ự ể ạnh mẽ c a Internet, ngày nay, vi c s h u mở ữ ột Website h ng còn là điều xa lạ, thậm chí trong mộ ốt s trường hợp còn
là tiêu chu n b t buẩ ắ ộc đối v i doanh nghi p công ty trong thớ – ời điểm cạnh tranh mang tính toàn cầu như hi n nay
Cùng với đ c ng ty cổ phần thương mại LK là công ty kinh doanh các mặt hàng đi n tử đang rất cần một website để có thể giới thi u sản phẩm, thực hi n bán hàng trực tuyến
1.1.2 Mục tiêu c ủa để tài
Xây d ng các chự ức năng cơ bản c a một website bán hàng thương mại
Website có khả năng tự tương thích, hiển thị được trên t t c các thi t b ấ ả ế ị
hi n t i và có th nâng cạ ể ấp trong tương lai
Website hiển th s n phị ả ẩm đẹp, thu h t người dùng
Hỗ trợ khách hàng m t cách nhanh nh t khi nhộ ấ ận được yêu c u liên h ầ
Quản lý các m t hàng s n phặ ả ẩm
Quản lý các danh m c s n phụ ả ẩm
Quản l các thương hi u sản phẩm
Quản l các đơn hàng sản phẩm, số lượng sản phẩm tồn đọng
Nắm bắt được công ngh thiế ế web bằt k ng Laravel, PHP,…
1.2 Xác định yêu c ầu:
1.2.1 Phần qu n lý c a Admin ả ủ
Cho phép Admin có th thêm, xóa, s a, li t kê hoể ử ặc ẩn các danh m c s n phụ ả ẩm
Cho phép Admin có th thêm, xóa, s a, li t kê hoể ử ặc ẩ các thương hi n u sản phẩm
Cho phép Admin có th thêm, xóa, s a, li t kê hoể ử ặc ẩn các s n phả ẩm
Cho phép Admin quản l đơn đặt hàng và th c hi n các thao tác em chi tiự ết đơn hàng hay x a đơn hàng
Trang 11
1.2.2 Giao diện người dùng
Website không nên quá phức tạp
Dung lượng file không quá lớn
Thanh menu thật đơn giản
Phải có thông tin liên h
Font chữ đơn giản, dễ nhìn, màu sắc hài hòa
An toàn và b o m t dả ậ ữ li u
Kiểm tra website c tương thích với các trình duy t phổ biến hay không
Hiển thị được các s n ph m mả ẩ ới nhập về, các s n phẩm cùng loả ại,…
Cho phép khách hàng xem thông tin chi ti t, tìm ki m các s n phế ế ả ẩm
Cho phép hách hàng đặt mua sản phẩm
Cho phép lo i bạ ỏ đi các mặt hàng sau khi mình cho vào trong gi hàng cỏ a
mình mà chưa đặt hàng
Cho phép hách hàng đăng tài hoản
Cho phép liên h v ới người qu n tr ả ị
Trang 121.3 Các chức năng của bài toán
STT Chức năng Tác nhân Mô t ả
1 Đăng nhập User, Admin H thống yêu cầu User/Admin
nhập tài kho n và mả ật khẩu Sau
đ h thống bắt đầu kiểm tra thông tin tài kho n, nả ếu đ ng thì cho đăng nhập vào h thống, nếu sai thì quay lại trang đăng nhập
và báo lỗi
2 Đăng User H thống yêu cầu User nhập
thông tin cá nhân b t bu c Sau ắ ộkhi User nhập đầy đ thông tin thì h thống bắt đầu kiểm tra, nếu đ ng thì tạo tài khoản cho User và đăng nhập vào h thống, nếu sai thì thông báo l i và bỗ ắt đầu lại
3 Đăng xuất User, Admin H thống đăng xuất User/Admin
khỏi h thống
4 Tìm ki m ế User H thống cho hiển th các s n ị ả
phẩm theo tên mà User nh p vào ậthanh tìm ki m, User ế cũng c thể tìm s n ph m theo lo i và ả ẩ ạnhãn hàng
5 Xem thông tin s n ả
phẩm
User H thống cho phép User xem
thông tin chi ti t c a s n phế ả ẩm
6 Thêm s n phả ẩm
vào gi hàng ỏ
User User có th thêm s n ph m mình ể ả ẩ
muốn mua vào giỏ hàng đểthanh toán
7 Xoá s n ả phẩm
khỏi gi hàng ỏ
User User có th xoá s n ph m mình ể ả ẩ
không mong mu n ra kh i giố ỏ ỏ hàng
8 Thanh toán User User chọn thanh toán để mua s n ả
phẩm Lúc này h thống sẽ yêu cầu User đăng nhập trước hoặc đăng tài hoản để mua hàng
Trang 13User cần điền đầy đ thông tin trước khi thanh toán sản phẩm
9 Huỷ đơn hàng User H thống cho phép User huỷ đơn
Trang 14CHƯƠNG 2. GIỚI THIỆU CÔNG NGHỆ
2.1 Giớ i thi u PHP ệ
PHP (vi t t t h i quy "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 Nó 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 tương đối ngắn hơn so với các ngôn ngữ há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
Ngôn ngữ, các thư vi n, tài li u g c cố a PHP được xây d ng b i cự ở ộng đồng và có
sự đ ng g p rất lớn c a Zend Inc., công ty do các nhà phát triển cốt lõi c a PHP lập
nên nh m t o ra mằ ạ ột m i trường chuyên nghi p để đưa PHP phát triể ởn quy mô doanh nghi p
2.2 L ch s phát tri n c a PHP ị ử ể ủ
2.2.1 PHP/FI
PHP được phát triển từ một sản phẩm có tên là PHP/FI PHP/FI do Rasmus
Lerdorf tạo ra năm 1995, ban đầu được xem như là mộ ập con đơn giảt t 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 ị ạÔng đã đặt tên cho bộ mã k ch b n này là "Personal Home Page Tools" Khi cị ả ần đến các chức năng rộng hơn, Rasmus đã viết ra một bộ thực thi bằng C lớn hơn để có thể truy v n tấ ới các cơ sở ữ li u và gi p cho người sử dụng phát triển các ứng dụng web dđơn giản Rasmus đã quyết định công b mã ngu n c a PHP/FI cho mố ồ ọi người xem,
sử dụng cũng như sửa các lỗi c trong n đồng th i c i ti n mã ngu n ờ ả ế ồ
PHP/FI, vi t t t t "Personal Home Page/Forms Interpreter", bao g m m t sế ắ ừ ồ ộ ố các chức năng cơ bản cho PHP như ta đã biết đến chúng ngày nay Nó có các bi n ki u ế ểnhư Perl, th ng dịch tự động các biến c a form và cú pháp HTML nhúng Cú pháp này giống như c a Perl, mặc dù hạn chế hơn nhiều, đơn giản và có ph n thi u nh t quán ầ ế ấVào năm 1997, PHP/FI 2 0, lần viết lại thứ hai c a phiên bản C, đã thu h t được hàng ngàn người sử dụng trên toàn thế gi i v i x p x 50.000 tên miớ ớ ấ ỉ ền đã được ghi nhận là c cài đặt nó, chiếm khoảng 1% số tên miền có trên mạng Internet Tuy đã c tới hàng nghìn người tham gia đ ng g p vào vi c tu chỉnh mã ngu n c a d án này thì ồ ựvào thời đ n vẫn ch y u ch là d án c a m ế ỉ ự ột người
Trang 15PHP/FI 2 0 được chính thức công bố vào tháng 11 năm 1997, 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 h ng lâu sau đ , n đã được thay th b i các bế ở ản alpha đầu tiên c a PHP 3.0
2.2.2 PHP 3
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 N đã được Andi Gutmans và Zeev Suraski tạo ra năm 1997 sau hi 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 nh n hả ậ ọ 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 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ó Ngoà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ở ữ li d u, giao thức và API há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 Hoàn toàn có th k t luộ ớ ể ế ận đượ ằng đây chính là điểm m u ch t d n c r ấ ố ẫđến thành công vang dội c a PHP 3 0 Các tính năng há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
Ngôn ng hoàn toàn mữ ới đã được công bố dưới m t cái tên m i, xóa b m i liên ộ ớ ỏ ố
h v i vi c s d ng vào mớ ử ụ ục đích cá nhân hạn hẹp mà cái tên PHP/FI 2.0 gợi nhắc Nó
đã được đặt tên ngắn gọn là "PHP", một kiểu vi t t t h i quy c a "PHP: Hypertext ế ắ ồ
Preprocessor"
Vào cuối năm 1998, PHP đã phát triển được con số cài đặt lên tới hàng chục
ngàn ngườ ử ụi s d ng và hàng chục ngàn web site báo cáo là đã cài n Vào thời ì đỉnh cao, PHP 3 0 đã được cài đặt cho xấp xỉ 10% số máy ch web có trên mạng Internet 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
2.2.3 PHP 4
Vào mùa đ ng năm 1998, ngay sau hi PHP 3 0 chính thức được công bố, Andi Gutmans và Zeev Suras i đã 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
Trang 16các tính năng mới và sự hỗ trợ khá nhiều các cơ sở dữ li u và API c a bên thứ ba,
nhưng PHP 3 0 đã h 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 ả
Một động cơ mới, có tên "Zend Engine" (ghép t các chừ ữ đầu trong tên c a Zeev
và Andi), đã đáp ứng được các nhu cầu thiết kế này một cách thành công, và lần đầu tiên được giới thi u vào giữa năm 1999 PHP 4 0, dựa trên động cơ này, và đi m với hàng loạt các tính năng mới bổ sung, đã chính thức được công bố vào tháng 5 năm
2000, gần 2 năm sau hi bản PHP 3 0 ra đời Ngoài tốc độ ử l đượ x 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 ả ố ề ạ
Nhóm phát triển PHP cũng đã lên tới con số hàng nghìn người và nhiều nghìn người khác tham gia vào các dự án c liên quan đến PHP như PEAR, PECL và tài li u
ĩ thuật cho PHP
2.2.4 PHP 5
Sự thành công h t s c to l n cế ứ ớ a PHP 4 0 đã h 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 nh ng y u kém c a PHP ậ ữ ế
4 đặc bi t với khả năng hỗ trợ ập trình hướng đối tượ l 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 phiê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 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 hác đã bị loại
khỏi mã nguồn Ngày 21 tháng 12 năm 2003: PHP 5 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 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
Trang 17tra th bao g m Beta 4, RC 1, 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 ể 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ở ữ li u và th c hi n các câu truy d ự
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 ả ế ớ
2.2.5 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 download tại địa ch http://snaps.PHP.net 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, ví d : hữ ế ế ở ả ạ ụ ỗ trợ
namespace (hi n t i các nhà phát tri n v ạ ể ẫn chưa c ng bố rõ ràng v về ấn đề này); hỗ trợUnicode; sử d ng PDO làm API chu n cho vi c truy cụ ẩ ập cơ sở ữ li u, cá d c API cũ sẽ
bị đưa ra thành thư vi n PECL…
2.3 Giới thiệ u Laravel
Laravel là 1 open source, là một framewor dùng để xây dựng web application, được thiết k d a trên mô hình MVC (Model, Controller, View), toàn bế ự ộ source code được đặt trên github Theo k t q a kh o sát cế ả a các Developer vào tháng 12 năm 2013, thì Laravel Framewor đứng top 1 một trong những framework phổ biến nhất, tiếp sau là Phalcon, Symfony2, Codelgniter và các framewor hác Tháng 8 năm 2014, Laravel Framewor được xem như là một dự án PHP phổ biến nhất trên Github
Laravel hi n đang là framewor tốt nhất, đứng TOP 1 trong 3 năm liền trên bảng xếp hạng các Framework t t nh t T i Vi t Nam nhu c u tuy n d ng ng viên Laravel rố ấ ạ ầ ể ụ ứ ất nhiều, n u b n có khế ạ ả năng về Laravel Framework, bạn sẽ được các nhà tuyển dụng săn đ n nồng nhi t, đây sẽ là cơ hội ngh nghi p r t l n dành cho b n ề ấ ớ ạ
Trang 18bằng nhiều tính năng hỗ trợ như Eloquent ORM mạnh m , xác thẽ ực đơn giản, phân trang hi u quả, và hơn thế nữa
2.4.1 Laravel 1
Bản Laravel beta đầu tiên được phát hành vào ngày 9/6/2011, tiếp đ là Laravel 1 phát hành trong cùng tháng Laravel 1 bao gồm các tính năng như xác thực, bản địa hóa, model, view, session, định tuyến và các cơ cấu hác, nhưng vẫn còn thiếu controller, điều này làm n chưa thật sự là một MVC framewor đ ng nghĩa
2.4.2 Laravel 2
Laravel 2 được phát hành vào tháng 9 năm 2011, mang đến nhiều cài tiến từ tác giả và cộng đồng Tính năng đáng ể bao gồm hỗ trợ controller, điều này th c s bi n ự ự ế
Laravel 2 thành m t MVC framework hoàn ch nh, hộ ỉ ỗ trợ Inversion of Control (IoC),
h thống template Blade Bên cạnh đ , c một nhược điểm là hỗ trợ cho các gói c a
nhà phát tri n bên th 3 b g b ể ứ ị ỡ ỏ
2.4.3 Laravel 3
Laravel 3 được phát hành vào tháng 2 năm 2012, với một tấn tính năng mới bao gồm giao di n dòng l nh (CLI) tên “Artisan”, hỗ trợ nhiều hơn cho h thống qu n trả ị cơ sở
dữ li u, chức năng ánh xạ cơ sở ữ li u Migration, hỗ trợ “bắt sự ki n” trong ứng d
dụng, và h thống qu n lý gói gả ọi là “Bundles” Lượng người dùng và sự phổ biến
tăng trưởng mạnh kể từ phiên bản Laravel 3
2.4.4 Laravel 4
Laravel 4, tên mã “Illuminate”, được phát hành vào tháng 5 năm 2013 Lần này thực
sự là s l t xác c a Laravel framework, di chuy n và tái c u trúc các gói hự ộ ể ấ ỗ trợ vào một tập được phân ph i thông qua Composer, mố ột chương trình quản l g i thư vi n phụ thuộc độc lập c a PHP Bố trí mới như vậy giúp khả năng mở ộ r ng c a Laravel 4 tốt hơn nhiều so với các phiên bản trước Ra mắt lịch phát hành chính thức mỗi sáu tháng m t phiên b n nâng c p nhộ ả ấ ỏ các tính năng hác trong Laravel 4 bao gồm t o và ạthêm dữ li u m u (database seeding), hẫ ỗ trợ hàng đợi, các kiểu gởi mail, và hỗ trợ
“x a mềm” (soft-delete: record bị lọc khỏi các truy vấn từ Eloquent mà không thực sự xóa h n kh i DB) ẳ ỏ
Trang 19assets th ng qua “Elixir”, cũng như đơn giản hóa quản lý xác thực với các d ch v bên ị ụngoài bằng g i “Socialite”
2.4.6 Laravel 5.1
Laravel 5.1 phát hành vào tháng 6 năm 2015, là bản phát hành đầu tiên nhận được h ỗtrợ dài h ng (LTS) v i m t k t ho ch fix bug lên tạ ớ ộ ế ạ ới 2 năm vào hỗ trợ vá l i b o mỗ ả ật lên tới 3 năm Các bản phát hành LTS c a Laravel được lên kế hoạch theo mỗi 2 năm Ngoài ra n u bế ạn đọc bài biết trong năm 2018 , thì bản laravel mới nhất là 5.6 , qua các phiên b n khác nhau , framework này ngày càng hoàn thiả n hơn , bạn có thể thấy
phiên bản này được build v i phiên b n PHP 7.1 tr lên , giúp cho performance cớ ả ở a ứng dụng rất tốt Các tính năng được mọi lập trình viên yêu thích lu n được hỗ trợ ,
n i h ng ngoa hi mình nghĩ đây là framewor PHP mà vi c học nó rất dễ dàng ,
thành thục n cũng h ng quá h Dễ dàng cho cả bản vừa m i h c lớ ọ ập trình Web cơ bản đến mức độ phức tạp c a chuyên gia thì Laravel cũng có thể đáp ứng
2.5 Tại sao l i ch n PHP ? ạ ọ
Để thiết kế Web động có rất nhiều ngôn ng lữ ập trình hác nhau để a chọn, lự
mặc dù cấu hình và tính năng há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 ậ ỏ ự ự ọ ờ
2.6 Giới thi u MySQL ệ
MySQL là h qu n trả ị cơ sở ữ li d u mã 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 Vì MySQL là cơ
sở dữ li u tốc độ cao, ổn định và d s d ng, có tính khễ ử ụ ả chuyển, hoạt động trên nhi u ề
Trang 20cho các h điều hành dòng Windows, Linux, Mac OS X, Unix, FreeBSD, NetBSD, Novell NetWare, SGI Irix, Solaris, SunOS, …
những nhà đi đầu trong lĩnh vực công nghi p như Yahoo!, Alcatel-Lucent, Google,
Nokia, YouTube và Zappos.com
MySQL không chỉ là cơ sở ữ li d u mã ngu n mồ ở phổ biến nh t trên th giới, nó ấ ếcòn trở thành cơ sở ữ li u đượ d c ch n cho th h m i c a các ng d ng xây d ng trên ọ ế ớ ứ ụ ựnền Linux, Apache, MySQL, PHP/Perl/Python MySQL chạy trên hơn 20 flatform bao gồm: Linux, Windows, OS/X, HP-UX, AIX, Netware, mang đến cho b n tính linh ạ
Trang 21CHƯƠNG 3 PHÂN TÍCH HỆ THỐNG
3.1 S ơ đồ Use case
Trang 223.2 Đặ ảc t Use case
Use case Đăng Nhập:
Tên Use case Đăng Nhập
Mô t ả ngắn Cho phép Admin và hách hàng đăng nhập vào h thống
- H thống kiểm tra tên đăng nhập và mật khẩu H thống
sẽ kiểm tra tài khoản đ nếu c a là tài kho n c a Admin ả
sẽ chuyển sang trang qu n tr , n u là t i kho n c a khách ả ị ế ả ảhàng sẽ chuyển sang trang mua hàng
Dòng hành động
thay th ế Nếu nh p sai tài kho n, m t kh u Hnhập không thành công do sai tài kho n ho c m t kh u ậ ả ậ ẩ ả thống sẽ th ng báo đăng ặ ậ ẩ
Hậu điều kiện Thoát web
Use case Qu ản lý thương hiệu s n ph m ả ẩ
Tên Use case Quản lý thương hi u s n ph m ả ẩ
Mô t ả ngắn Cho phép thêm xóa s a thông tin ử thương hi u s n ph m trên h ả ẩ
chính Chọn các thao tác thêm, xóa, sửa:
- Thêm thông tin thương hi u s n ph m: Ch n thêm, h ả ẩ ọthống s hi n th giao di n nhẽ ể ị ập tên thương hi u sản phẩm
- Sửa thông tin thương hi u s n ph m: Ch n s a, hả ẩ ọ ử thống
sẽ hi n th giao di n sể ị ửa tên thương hi u s n phả ẩm
- Xóa thông tin thương hi u s n ph m: Ch n xóa, hả ẩ ọ thống
sẽ xóa thương hi u ra kh i danh sách ỏ
Trang 23Dòng hành động
thay th ế Nếu dữ li u nh p vào không h p l , hê th ng sli u không hợp l ” và yêu cầu nhập lại ậ ợ ố ẽ th ng báo”dữ
Hậu điều kiện Thoát web
Qu ản lý s n ph m ả ẩ
Tên Use case Quản lý s n ph m ả ẩ
Mô t ả ngắn Cho phép thêm xóa s a thông tin s n ph m trên hử ả ẩ thống
Tiền điều kiện Admin đăng nhập vào h thống
Dòng s ự kiệ n
Dòng hành động
chính Chọn các thao tác thêm, xóa, sửa:
- Thêm thông tin s n ph m: Ch n thêm, hả ẩ ọ thống s hi n ẽ ểthị giao di n nhập thông tin sản phẩm cần thêm
- Sửa thông tin s n ph m: Ch n s a, hả ẩ ọ ử thống s hi n th ẽ ể ịgiao di n s a thông tin s n phử ả ẩm
- Xóa thông tin s n ph m: Ch n xóa, hả ẩ ọ thống s xóa ẽthông tin s n ph m ra kh i danh sách ả ẩ ỏ
Dòng hành động
thay th ế Nếu dữ li u nh p vào không h p l , hê th ng s thông báli u không hợp l ” và yêu cầu nhập lại ậ ợ ố ẽ o”dữ
Hậu điều kiện Thoát web
Qu ản danh m c s n ph m lý ụ ả ẩ
Tên Use case Quản lý danh m c s n ph m ụ ả ẩ
Mô t ả ngắn Cho phép thêm, xóa, s a danh m c s n phử ụ ả ẩm
Tiền điều kiện Admin đăng nhập vào h thống
Dòng s ự kiệ n
Dòng hành động
chính Chọn các thao tác thêm, xóa, sửa:
- Thêm thông tin danh m c s n ph m: Ch n thêm, h ụ ả ẩ ọthống s hi n th giao di n nh p thông tin danh m c sẽ ể ị ậ ụ ản phẩm c n thêm ầ
- Sửa thông tin danh mục ản ph m: Ch n s a, hs ẩ ọ ử thống s ẽ
Trang 24hiển th giao di n s a thông tin mị ử ục sản phẩm.
Xóa thông tindanh m c s n ph m: Ch n xóa, hụ ả ẩ ọ ệ thống s xóa ẽthông tin danh m c s n ph m ra kh i danh sáchụ ả ẩ ỏ
Dòng hành động
thay th ế Nếu dữ li u nh p vào không h p l , hê th ng sli u không hợp lậ ” và yêu cầu nh p lại ợ ậ ố ẽ th ng báo”dữ
Hậu điều kiện Thoát web
Qu ản lý đơn hàng
Tên Use case Quản l đơn hàng
Mô t ả ngắn Xem chi ti t hoế ặc x a đơn đặt hàng
Tiền điều kiện Admin đăng nhập vào h thống
Dòng s ự kiệ n
Dòng hành động
chính Chọn vào xem chi tith ng tin đơn hàng đã được hách hàng đặt mua ết Đơn hàng: h thống s hi n th ra các ẽ ể ị
Chọn vào xem x a Đơn hàng: h thống x a đơn hàng
Dòng hành động
thay th ế Nếu không có b t cbáo”chưa c đơn hàng nào được đặt” ấ ứ đơn đặt hàng nào h thống s thông ẽ
Hậu điều kiện Thoát web
Use case đăng ký
Tên Use case Đăng
Mô t ả ngắn Cho phép hách hàng đăng tài hoản để mua hàng
Tiền điều kiện Khách hàng c n vào hầ thống
Dòng s ự kiệ n
Trang 25Dòng hành động
Khách hàng s nhẽ ập các th ng tin trên giao đăng H
thống sẽ kiểm tra thông tin N u thành công hế ống sẽ thchuyển sang giao di n đăng nhập với tài khoản vừa đăng
ký trên
Dòng hành động
thay th ế Nếu dữ li u nh p vào không h p l , hê th ng sli u không hợp l ” và yêu cầu nhập lại ậ ợ ố ẽ th ng báo”dữ
Hậu điều kiện Thoát web
Use case tìm ki m ế
Tên Use case Tìm ki m ế
Mô t ả ngắn Cho phép khách hàng tìm ki m thông tin s n ph m ế ả ẩ
Dòng hành động
thay th ế Nếu thông tin s n ph m c n tìm không có hê th ng s thông báo” h ng c sản phẩm cả ẩần tìm”ầ ố ẽ
Hậu điều kiện Thoát web
Use case Đặt hàng
Tên Use case Đặt hàng
Mô t ả ngắn Cho phép hách hàng đặt mua các sản phẩm
Tiền điều kiện Khách hàng cần đăng nhập vào h thống
Dòng s ự kiệ n
Trang 26Dòng hành động
Khách hàng sẽ chọn các s n phả ẩm can mua, sau đ nhấn Thêm vào gi hàng, các s n ph m sỏ ả ẩ ẽ được thêm vào gi ỏhàng
Dòng hành động
thay th ế Nếu không ch n s n ph m, hê th ng hi n th gi hàng trọ ả ẩ ố ể ị ỏ ống
Hậu điều kiện Thoát web
Use case Xem thông tin s n ph m ả ẩ
Tên Use case Xem thông tin s n ph m ả ẩ
Mô t ả ngắn Cho phép khách hàng xem thông tin s n phả ẩm
Hậu điều kiện Thoát web
Use case Xem đơn hàng
Tên Use case Xem đơn hàng
Mô t ả ngắn Cho phép hách hàng xem danh sách đơn hàng đã đặt
Tiền điều kiện Khách đăng nhập vào h thống
Dòng s ự kiệ n
Trang 27Dòng hành động
chính Khách hàng sau khi ch n s n ph m, s n ph m sgiỏ hàng Khách hàng sẽ xem th ng tin các đơn hàng đã đặt ọ ả ẩ ả ẩ ẽ được thêm vào
trong gi hàng và có the xóa s n phỏ ả ẩm
Dòng hành động
thay th ế
Hậu điều kiện Thoát web
Use case Thanh toán
Tên Use case Thanh Toán
Mô t ả ngắn Cho khác hàng thanh toán các s n phả ẩm đã đặt mua trong gi ỏ
chính Sau khi ch n nút thanh toán, hkhách hàng nhọ ập tên, địa chỉ ngườ thối nhng s hi n th giao di n cho ận và phương thứẽ ể ị c thanh
toán N u khách hàng nhế ập đ ng th ng tin h thống s thông ẽbáo”Thanh toán thành c ng”
Dòng hành động
thay th ế Nếu khách hàng không nhcầu “nhập lại” ập đầy đ thông tin h thống s yêu ẽ
Hậu điều kiện Thoát web
Trang 283.3 Sơ đồ hoạt động
Đăng nhập
Trang 29Qu ản lý thương hiệu s n ph m ả ẩ
Trang 30Qu ản lý s n ph m ả ẩ