Tải bản đầy đủ (.docx) (77 trang)

XÂY DỰNG WEBSITE bán BÁNH NGỌT sử DỤNG LARAVEL FRAMEWORK

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 (9.22 MB, 77 trang )

TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN

XÂY DỰNG WEBSITE BÁN BÁNH NGỌT
SỬ DỤNG LARAVEL FRAMEWORK

Hà Nội, tháng 06/2020


TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN

TÔ THỊ NAM

XÂY DỰNG WEBSITE BÁN BÁNH NGỌT
SỬ DỤNG LARAVEL FRAMEWORK

Chuyên ngành

: Công nghệ thông tin

Mã ngành

: D480201

NGƯỜI HƯỚNG DẪN: TS.NGUYỄN ĐỨC TOÀN

Hà Nội, tháng 06/2020


1


LỜI CẢM ƠN
Để hoàn thành được đề tài đồ án tốt nghiệp này, trước hết em xin gửi lời cảm
ơn chân thành nhất đến các Cán bộ Giảng viên Khoa Công nghệ Thông tin, các cán
bộ giảng viên trong Trường Đại học Tài nguyên Môi trường Hà Nội đã tận tình
giảng dạy và truyền đạt kiến thức cho em. Đồng thời em xin gửi lời cảm ơn đặc biệt
về sự chỉ dạy, hướng dẫn tận tình của TS.Nguyễn Đức Toàn đã luôn tận tình hướng
dẫn, giúp đỡ em trong suốt thời gian thực hiện đồ án.
Em vô cùng biết ơn gia đình và bạn bè, những người đã luôn luôn ở bên cạnh
em, động viên, chia sẻ với em trong suốt thời gian thực đề tài đồ án tốt nghiệp
“ Xây dựng website bán bánh ngọt sử dụng Laravel Framework”.
Do kiến thức còn hạn chế, bài báo cáo của em không tránh khỏi những sai sót.
Rất mong nhận được những lời góp ý từ quý Thầy Cô để đồ án tốt nghiệp của em
được hoàn thiện và giúp em có thêm những kinh nghiệm quý báu.
Cuối cùng, em xin kính chúc các thầy cô giảng viên trường Đại học Tài
nguyên và Môi trường Hà Nội nói chung, các thầy cô Khoa Công nghệ Thông tin
nói riêng dồi dào sức khỏe và thành công trong sự nghiệp cao quý.
Sinh viên thực hiện

Tô Thị Nam


2
MỤC LỤC

LỜI CẢM ƠN...........................................................................................................i
MỤC LỤC................................................................................................................ ii
DANH MỤC HÌNH ẢNH......................................................................................iv
DANH MỤC BẢNG BIỂU....................................................................................vi
PHẦN MỞ ĐẦU......................................................................................................1
1. Tính cấp thiết của đề tài....................................................................................1

2. Tổng quan về đề tài nghiên cứu........................................................................1
3. Phương pháp nghiên cứu đề tài.........................................................................2
4. Nội dung nghiên cứu đề tài...............................................................................2
5. Mục tiêu và nội dung của đồ án........................................................................3
CHƯƠNG 1: TỔNG QUAN VỀ NGÔN NGỮ PHP VÀ | FRAMEWORK
LARAVEL................................................................................................................ 4
1.1. Thương mại điện tử........................................................................................4
1.2. Tổng quan về ngôn ngữ PHP..........................................................................4
1.2.1. Khái niệm...............................................................................................4
1.2.2. Đặc điểm của ngôn ngữ PHP.................................................................4
1.2.3. Ứng dụng của PHP.................................................................................5
1.2.4. Ưu nhược điểm của PHP........................................................................5
1.3. Cấu trúc thư mục và luồng dữ liệu trong laravel..........................................6
1.4. Thành phần cơ bản trong laravel..................................................................6
1.4.1. Route trong laravel.................................................................................6
1.4.2. Laravel trong Controller.........................................................................9
1.5. Sử dụng boostrap css framework..................................................................11
CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG WEBSITE BÁN BÁNH
NGỌT..................................................................................................................... 12
2.1. Phân tích hệ thống........................................................................................12
2.1.1. Khảo sát bài toán...................................................................................12


3
2.1.2. Xây dựng biểu đồ usecase.....................................................................13
2.1.3. Biểu đồ phân rã chức năng và kịch bản.................................................14
2.1.4. Biểu đồ hoạt động.................................................................................33
2.1.5. Biểu đồ lớp chi tiết................................................................................43
2.1.6. Biểu đồ tuần tự tham gia ca sử dụng.....................................................44
2.2. Thiết kế cơ sở dữ liệu...................................................................................51

2.2.1. Bảng Customer......................................................................................51
2.2.2. Bảng Product.........................................................................................51
2.2.3. Bảng Category......................................................................................52
2.2.4. Bảng Order............................................................................................52
2.2.5. Bảng OrderDetail..................................................................................52
2.2.6. Bảng New.............................................................................................53
2.2.7. Bảng Slide.............................................................................................53
2.2.8. Bảng User.............................................................................................53
CHƯƠNG 3: XÂY DỰNG WEBSITE.................................................................54
3.1. Cài đặt chương trình.....................................................................................54
3.2. Thiết kế giao diện website............................................................................54
KẾT LUẬN - HƯỚNG PHÁT TRIỂN................................................................64
TÀI LIỆU THAM KHẢO.....................................................................................65


4
DANH MỤC HÌNH ẢNH
Hinh 2. 1 biểu đồ usecase tổng quát........................................................................13
Hinh 2. 2 Sơ đồ usecase phân rã chức năng quản lý tin tức.....................................14
Hinh 2. 3. Sơ đồ usecase phân rã chức năng quản lý khách hàng............................15
Hinh 2. 4. Sơ đồ usecase phân rã chức năng quản lý sản phẩm...............................17
Hinh 2. 5. Sơ đồ usecase phân rã chức năng quản lý danh mục...............................21
Hinh 2. 6. Sơ đồ usecase phân rã quản lý chức năng đơn hàng................................25
Hinh 2. 7. Sơ đồ usecase phân rã quản lý chưc năng slide.......................................28
Hinh 2. 8. Sơ đồ usecase phân rã chức năng mua hàng...........................................29
Hinh 2. 9. Sơ đồ usecase phân rã chức năng tìm kiếm sản phẩm.............................32
Hinh 2. 10.Biểu đồ hoạt động chức năng đăng nhập...............................................33
Hinh 2. 11. Biểu đồ hoạt động chức năng đăng kí...................................................34
Hinh 2. 12. Biểu đồ hoạt động chức năng quản lý tin tức........................................35
Hinh 2. 13. Biểu đồ hoạt động chức năng quản lý khách hàng................................36

Hinh 2. 14. Biểu đồ hoạt động chức năng quản lý đơn hàng...................................37
Hinh 2. 15. Biểu đồ hoạt động chức năng quản lý sản phẩm..................................38
Hinh 2. 16. Biểu đồ hoạt động chức năng quản lý danh mục sản phẩm...................39
Hinh 2. 17. Biểu đồ hoạt động chức năng quản lý slide...........................................40
Hinh 2. 18. Biểu đồ hoạt động chức năng quản lý giỏ hàng....................................41
Hinh 2. 19. Biểu đồ hoạt động chức năng khách hàng tìm kiếm sản phẩm..............42
Hinh 2. 20. Biểu đồ lớp chi tiết................................................................................43
Hinh 2. 21. Biểu đồ tuần tự khách hàng tham gia đăng kí.......................................44
Hinh 2. 22. Biểu đồ tuần tự khách hàng tham gia đăng nhập...................................44
Hinh 2. 23.Biểu đồ tuần tự khách hàng tham gia tìm kiếm......................................45
Hinh 2. 24. Biểu đồ tuần tự khách hàng tham gia mua hàng....................................45
Hinh 2. 25. Biểu đồ tuần tự khách hàng tham gia xóa giỏ hàng...............................46
Hinh 2. 26.Biểu đồ tuần tự khách hàng tham gia xem giỏ hàng...............................46
Hinh 2. 27. Biểu đồ tuần tự Admin quản lý khách hàng..........................................47
Hinh 2. 28. Biểu đồ tuần tự Admin tìm kiếm khách hàng.......................................47
Hinh 2. 29. Biểu đồ tuần tự Admin quản lý sản phẩm.............................................48


5
Hinh 2. 30. Biểu đồ tuần tự Admin tìm kiếm sản phẩm...........................................48
Hinh 2. 31. Biểu đồ tuần tự Admin quản lý danh mục sản phẩm.............................49
Hinh 2. 32. Biểu đồ tuần tự Admin tìm kiếm danh mục sản phẩm..........................49
Hinh 2. 33. Biểu đồ tuần tự Admin quản lý đơn hàng..............................................50
Hinh 2. 34. Biểu đồ tuần tự Admin quản lý tin tức..................................................50
Hinh 2. 35. Trang chủ website bán hàng..................................................................55
Hinh 2. 36. Trang giao diện danh mục sản phẩm.....................................................56
Hinh 2. 37. Trang giao diện giới thiệu cửa hàng......................................................57
Hinh 2. 38. Trang liên hệ cửa hàng..........................................................................58
Hinh 2. 39. Trang giỏ hàng......................................................................................60
Hinh 2. 40. Trang quản lý sản phẩm........................................................................61

Hinh 2. 41. Trang quản lý danh mục sản phẩm........................................................61
Hinh 2. 42. Trang quản lý khách hàng.....................................................................62
Hinh 2. 43. Trang quản lý đơn hàng........................................................................62
Hinh 2. 44. Trang quản lý chi tiết đơn hàng.............................................................63
Hinh 2. 45. Trang quản lý slide................................................................................63


6
DANH MỤC BẢNG BIỂU
Bảng 2. 1. Kịch bản quản lý tin tức.........................................................................14
Bảng 2. 2. Kịch bản xóa khách hàng........................................................................16
Bảng 2. 3. Kịch bản tìm kiếm khách hàng...............................................................16
Bảng 2. 4. Kịch bản thêm sản phẩm........................................................................18
Bảng 2. 5. Kịch bản sửa sản phẩm...........................................................................19
Bảng 2. 6. Kịch bản xóa sản phẩm...........................................................................20
Bảng 2. 7. Kịch bản tìm kiếm sản phẩm..................................................................20
Bảng 2. 8. Kịch bản thêm danh mục sản phẩm........................................................22
Bảng 2. 9. Kịch bản sửa danh mục sản phẩm..........................................................23
Bảng 2. 10. Kịch bản xóa sản phẩm.........................................................................24
Bảng 2. 11. Kịch bản tìm kiếm sản phẩm................................................................24
Bảng 2. 12. Kịch bản xem đơn hàng........................................................................26
Bảng 2. 13. Kịch bản xóa đơn hàng.........................................................................26
Bảng 2. 14. Kịch bản tìm kiếm đơn hàng.................................................................27
Bảng 2. 15. Kịch bản thêm slide..............................................................................28
Bảng 2. 16. Kịch bản thêm giỏ hàng.......................................................................30
Bảng 2. 17. Kịch bản xóa giỏ hàng..........................................................................30
Bảng 2. 18. Kịch bản đặt hàng.................................................................................31
Bảng 2. 19. Kịch bản tìm kiếm sản phẩm................................................................32
Bảng 2. 20. Bảng Customer.....................................................................................51
Bảng 2. 21. Bảng product........................................................................................51

Bảng 2. 22. Bảng Category......................................................................................52
Bảng 2. 23. Bảng Order...........................................................................................52
Bảng 2. 24. Bảng OrderDetail.................................................................................52
Bảng 2. 25. Bảng New.............................................................................................53
Bảng 2. 26. Bảng Slide............................................................................................53
Bảng 2. 27. Bảng User.............................................................................................53


1
PHẦN MỞ ĐẦU
1. Tính cấp thiết của đề tài
- Hiện tại các mặt hàng chủ yếu bán lẻ qua hệ thống cửa hàng truyền thống với
số lượng khách hàng hạn chế. Thông tin sản phẩm mặt hàng mới, xu hướng hiện tại
cập nhật đến với người mua khá chậm và hạn chế. Việc mở rộng thêm thị trường là
rất khó khăn và rất tốn kém (vì việc mở rộng thị trường đồng nghĩa với việc phải
mở thêm các chuỗi cửa hàng, điều này rất tốn kém về tài chính và nhân sự, cũng
như hệ thống quản lý sẽ phức tạp dẫn đến việc gặp nhiều khó khăn hơn trong kinh
doanh).
- Mỗi khi mua hàng lựa chọn sản phẩm mất rất nhiều thời gian và công sức.
Vấn đề về thông tin chi tiết các sản phẩm mặt hàng cũng sẽ rất hạn chế và bất cập.
Khi khách hàng xem và lựa chọn sản phẩm trực tiếp cũng sẽ dễ xảy ra tình trạng hư
hỏng hoặc thất thoát, điều này sẽ ảnh hưởng rất nhiều đến quá trình kinh doanh
cũng như khả năng quản lý các vấn đề phát sinh không mong muốn. Ngoài ra còn
rất nhiều vấn đề khác như thuê mặt bằng, quảng bá thương hiệu, thông tin đến
khách hàng sẽ gặp khó khăn. Với thời đại sử dụng công nghệ nhiều như bây giờ, có
khá nhiều cửa hàng, doanh nghiệp đã sử dụng website để cung cấp thông tin, quảng
bá thương hiệu của mình qua internet để khắc phục bất cập về việc mua hàng trực
tiếp tại cửa hàng.
2. Tổng quan về đề tài nghiên cứu
- Với internet, chúng ta đã thực hiện được nhiều công việc với tốc độ nhanh

hơn và chi phí thấp hơn nhiều so với cách thức truyền thống. Chính điều này, đã
thúc đầy sự khai sinh và phát triển của thương mại điện tử và chính phủ điện từ trên
khắp thể giới, làm biến đối đáng kể bộ mặt văn hóa, nâng cao chẩt lượng cuộc sống
con người.
- Trong hoạt động sản xuất kinh doanh, giờ đây thương mại điện tử đã khẳng
định được vai trò xúc tiến và thúc đẩy sự phát triển của doanh nghiệp. Đối với một
công ty, việc quảng bá và giới thiệu đến các khách hàng các sản phẩm do công ty
cung cấp một cách hiệu quả và kịp thời là yếu tố quyết định đến lợi nhuận của
doanh nghiệp. Vì vậy, sẽ rất thiếu sót nếu công ty bạn chưa xây dựng một website


2
bán bánh ngọt, nhưng song song với đó, là làm sao để có thể quản lý và điều hành
website một cách dễ dàng và hiệu quả để thu được kết quả như mong muốn. Đây là
vấn đề hết sức cấp thiết và luôn là nỗi trăn trở của các công ty nói riêng và cả các
doanh nghiệp khác nói chung, nhất là các doanh nghiệp Việt Nam.
- Với đề tài này em xin được trình bày một cách thức quản lý website cho
những người quản trị dễ dàng trong việc phân quyền quản lý, thay đổi, cập nhật
thông tin trang web cũng như quản lý hiệu quả khách hàng và các đơn đặt hàng trên
mạng.
3. Phương pháp nghiên cứu đề tài
- Về lý thuyết:
Tìm hiểu kỹ thuật lập trình, cách thức hoạt động của Sublime Text 3
Hiểu được cách lưu dữ liệu của hệ quản trị cơ sở dữ iệu Navicat
- Về lập trình:
Sử dụng phần mềm Sublime Text 3, ngôn ngữ PHP và hệ quản trị Navicat để
xây dựng trang web
- Về hoạt động:
Website thực hiện đầy đủ các chức năng cần có của một trang web thương mại
điện tử

4. Nội dung nghiên cứu đề tài
- Nghiên cứu cơ sở lý thuyết về ngôn ngữ lập trình web HTML, CSS, laravel
framwork & Navicat
- Xây dựng chức năng hiển thị các loai bánh mới.
- Xây dựng chức năng thêm, sửa, xóa vào các mục như sản phẩm, loại sản
phẩm…
- Xây dựng chức năng quản lý người dùng, admin.
- Xây dựng chức năng lọc kết quả tìm kiếm theo, mã sản phẩm và tên sản
phẩm.
- Xây dựng chức năng tạo giỏ hàng.


3
5. Mục tiêu và nội dung của đồ án
- Mục tiêu chung: Nghiên cứu phát triển Website trên mã nguồn mở
Famwork Laravel.
- Mục tiêu cụ thể: Xây dựng Website bán bánh ngọt trên Framework Laravel.
- Nội dung: Nội dung chính của đồ án tốt nghiệp bao gồm 3 chương như sau:
 Chương 1: Tổng quan về ngôn ngữ PHP
 Chương 2: Phân tích thiết kế hệ thống
 Chương 3: Xây dựng Website


4
CHƯƠNG 1: TỔNG QUAN VỀ NGÔN NGỮ PHP VÀ |
FRAMEWORK LARAVEL
1.1. Thương mại điện tử
- Thương mại điện tử là sự mua bán sản phẩm hay dịch vụ trên các hệ thống
điện tử như Internet và các mạng máy tính. Thương mại điện tử dựa trên một số
công nghệ như chuyển tiển điện tử, tiếp thị Internet, quá trình giao dịch trực tuyến,

trao đổi dữ liệu điện tử, các hệ thống quản lý hàng tồn kho, và các hệ thống tự động
thu thập dữ liệu.
- Thương mại điện tử bao gồm việc sản xuất, quảng cáo, bán hàng và phân
phối sản phẩm được mua bán và thanh toán trên mạng Internet, nhưng được giao
nhận một cách hữu hình, cả các sản phẩm giao nhận cũng như những thông tin số
hoá thông qua mạng Internet.
1.2. Tổng quan về ngôn ngữ PHP
1.2.1. Khái niệm
- PHP: Hypertext Preprocessor, thường được viết tắt thành PHP 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, 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.2.2. Đặc điểm của ngôn ngữ PHP
- PHP rất đơn giản và dễ sử dụng.
- PHP có thể kết nối cơ sở dữ liệu hiệu quả và giúp quá trình tải ứng dụng
nhanh hơn.
- PHP sẽ bảo mật hơn nếu sử dụng các Framwork.
- Nó quen thuộc hơn đối với các nhà phát triển và hỗ trợ trực tuyến đang được
cung cấp cho người mới bắt đầu.


5
- PHP có khả năng tích hợp linh hoạt với các ngôn nữ lập trình khác
- PHP là nguồn mở và miễn phí.
- PHP rất nhẹ và có nhiều Framework có sẵn để lập trình website.
- PHP giúp cho quá trình phát triển website trở nên nhanh hơn.
1.2.3. Ứng dụng của PHP

- Phát triển Hệ thống quản lí nội dung
- Phát triển các ứng dụng dựa trên web hoặc trang web
- Các trang web hoặc ứng dụng thương mại điện tử
- Phân tích và trình bày dữ liệu
- Xử lý hình ảnh
- Thiết kế giao diện người dung
- Phát triển các tính năng của Flash
- Thiết kế đồ họa
- Phát triển ứng dụng cho doanh nghiệp nhỏ
- Chuyển đổi các tập tin
- Phát triển các Video game nhỏ
1.2.4. Ưu nhược điểm của PHP
Ưu điểm:
- PHP chính là nguồn mở và miễn phí. Nó có thể được tải xuống bất cứ nơi
nào. Sẵn sàng để sử dụng cho việc phát triển các ứng dụng web
- Là nền tảng độc lập. Các ứng dụng dựa trên PHP có thể chạy trên mọi hệ
điều hành như UNIX, Linux và Windows, v.v.
- PHP có tốc độ cao hơn với nhiều ngôn ngữ lập trình khác
- Ổn định hơn từ nhiều năm với sự giúp đỡ của việc cung cấp hỗ trợ liên tục
cho các phiên bản khác nhau. Từ phiên bản 5 trở lên PHP đã hỗ trợ thêm các đặc
tính về Lập trình hướng đối tượng OOP
- PHP hỗ trợ nhiều thư viện mạnh mẽ để dễ dàng modul chức năng cho việc
biểu diễn dữ liệu.
Nhược điểm:
- Bảo mật không an toàn bằng ngôn ngữ khác.


6
- PHP không phù hợp cho các ứng dụng web cần xử lý nội dung lớn.
- PHP là kiểu Weak type (Không chặt chẽ như Java) nên có thể dẫn đến dữ liệu

và thông tin không chính xác cho người dùng.
1.3. Cấu trúc thư mục và luồng dữ liệu trong laravel
 Thư mục chính
 App: Chứa mã cốt lõi của ứng dụng, ta dùng nhiều tới thư mục này.
 Bootstrap: Chứa các tệp tin khởi động và cấu hình tự động chạy.
 Config: Chứa tất cả các tệp cấu hình của hệ thống.
 Database: Nơi chúng ta cấu hình các bộ dữ liệu mẫu: migrate, seed.
 Public: Nơi lưu trữ thư viện CSS, Javascript, các hình ảnh. Chứa tệp
index.php
 Resources: Chứa views, các tệp ngôn ngữ.
 Routes: Chứa tất cả các route của hệ thống.
 Luồng xử lý:
Đầu tiên người dùng yêu cầu 1 đường dẫn sang phía route, route trả về
controller, controller sẽ xử lý các yêu cầu đó, nếu yêu cần dữ liệu thì sẽ phải thông
qua Model để truy xuất đến cơ sở dữ liệu, sau khi truy xuất dữ liệu model trả về cho
controller, controller đưa dữ liệu về cho view, view xuất dữ liệu ra màn hình cho
người dung xem.
1.4. Thành phần cơ bản trong laravel
1.4.1. Route trong laravel
Mục đích chính của router là định tuyến đến những controller cụ thể nào đó từ
phía yêu cầu của người sử dụng. Đối với những Framework khác thì khi muốn thực
hiện một công việc nào đó thường sẽ cần xây dựng một controller để xử lý, nhưng
trong Laravel thì hoàn toàn có thể xử lý dữ liệu ngay trong phần Route. Đây chính là
điểm mạnh cũng như điểm khác biệt lớn của Laravel đối với các Framework khác.
 Cấu trúc Route:
- Các định tuyến trong Laravel 5.5 đều được viết trongroutes/web.php


7
- Cú pháp: Route:: method(‘URI’, ‘function callback’);

Trong đó:
o URI là dạng link trên url.
o Function call back: hàm sẽ gọi tới link URI phíatrên.
o Method: các dạng phương thức cơ bản post, get, put, delete, any
- Cácmethod:
o POST Route: các thao tác lấy từ biểu mẫu (form) như thêm dữ liệu.
o GETRoute: dành cho các thao tác truy cập thong thường tương đương với
yêu cầu cơ bản trong PHP. Ví dụ chạy 1 đường dẫn trên URL.
o PUT Route: dành cho các thao tác lấy từ biểu mẫu nhưng là cập nhật dữ liệu.
o DELETE Route: dành cho thao tác xóa dữ liệu.
o ANY Route: là sự tổng hợp các thao tác ở trên. Trong đó POST và GET
được sử dụng nhiều nhất.
 Truyền tham số trên Route:

Route::get(‘myroute/
{ten}’,function($ten){ Return
“Chào bạn”.$ten;
Trong đó, {ten} là giá trị do người dùng nhập trên liên kết của URL hoặc do
nhà phát triển định sẵn.
Đặt điều kiện cho tham số với phương thức where():
Route::get(‘myroute/{ten}’,function($ten)
{ Return “Chào bạn”.$ten;
})->where([‘ ten ’ => ‘[a-zA-Z]+’]);
 Định danh cho Route:


8
- Cách 1: Khai báo ‘as’=> ‘Tên Route’ trong tham số như sau:
Route::get(‘myroute’,[ ‘as’=>
‘newname’, function(){ Return

“Đã đổi tên”;}


9
- Cách 2: Cách này khá ngắn gọn và dễ dùng: thêm name(‘tên route’) ở cuối.
Route::get('myroute',function()
{ return “Đã đổi tên”;
} )->name(‘tên route’);
Muốn gọi route bằng tên đã đặt, sử dụng route(‘tênroute’):
Route::get('myroute',function(){

return redirect()->route(‘tên route’);
 Nhóm Route:
Route::group([ ‘prefix’ => ‘MyGroup’ ] , function(){
//Gọi Route User1: domain/MyGroup/User1
Route::get(‘User1’, function(){ return ‘User1’ });
//Gọi Route User2: domain/MyGroup/User2
Route::get(‘User2’, function(){ return ‘User2’ });
//Gọi Route User3: domain/MyGroup/User
Route::get(‘User3’, function(){ return ‘User3’ });
});
Model là một lớp dữ liệu có cấu trúc giống với bảng trong cơ sở dữ liệu, dùng
để xử lý dữ liệu vào ra trong bảng.
 Tạo model
- Các Model sẽ được lưu tại mụcApp/ Thựchiện:
- Tạo một Model: Khởi động Command Prompt (cmd) và trỏ về thư mục gốc
của dự án, gõ lệnh sau để tạo model:
php artisan make:model TenModel



10
- Tạo một Model và migrate tương ứng với nó
php artisan
- Kết nốimake:model
Model tới bảngTenModel
trong cơ sở –m
dữ liệu
- Một số phương thức hay sử dụng trong Model:
Protected $table = ‘Tên Bảng’;

1.4.2. Laravel trong Controller
 Cấu trúc Controller
Các Controller sẽ được lưu tại app/Http/Controllers, nội dung của một
Controller sẽ có dạng:
namespace
App\Http\Controllers; use
Illuminate\Http\Request;
class MyController extends Controller

{


11
 Tạo Controller
- Tạo Controller với cmd bằng câu lệnh:
php artisan make: controller MyController
View là các tệp tin có đuôi.php, chứa mã nguồn html, hiển thị dữ liệu cho
người dùng xem và được lưu tại resources/views.
Giả sử truyền lên trình duyệt một đường dẫn, trình duyệt sẽ gửi lên router,
Route chuyển sang Controller, sau khi Controller xử lý xong, sẽ gọi tệp tin

index.php, đây chính là view. Tập tin này chứa các mã nguồn html, css, hoặc các dữ
liệu mà nhà phát triển ứng dụng muốn hiển thị lên màn hình rồi trả về trình duyệt
hiển thị cho người dung xem.
Cài đặt Route
Route::get('myView',

Controller
Public function myView()

'MyController@myView');

myView.php

Đây là view



{
Return view(‘myView’);
}
 Truyền tham số sang view
Cài đặt Route
Route::get('myView/{ts}',

Controller
Public function myView($ts)

'MyController@myView');

myView.php

Đây



{

$thamso;
?>



Return view(‘myView’,
[‘thamso’=>&ts]);
}
 Mastertemplate
Luồng xử lý dữ liệu tương tự như ở View ở trên. Trong View có tệp


12
master.blade.php, tệp này chứa giao diện chung của hệ thống, @section định nghĩa
phần nội dung còn @yield sử dụng để hiển thị nội dung mà section đem lại. Các
view sẽ kế thừa blade template này bằng cách sử dụng lệnh@extends.
Muốn sử dụng Blade Template thì tên tệp phải có chứa .blade đằng trước.php
1.5. Sử dụng boostrap css framework
- Bootstrap là 1 frame work HTML, CSS, và JavaScript cho phép người dung
dễ dàng thiết kế website theo một chuẩn nhất định, bao gồm typography (kiểu dáng
văn bản), forms (biểu mẫu), buttons (nút bấm), tables (bảng biểu), navigation
(menu), modals (các phương thức), image carousels (trình chiếu ảnh) và nhiều thứ
khác. Trong bootstrap có thêm các trình cắm (plugin) Javascript trong nó, giúp tạo
các website thân thiện (web responsive) với các thiết bị cầm tay như mobile, ipad,
tablet, ... dễ dàng hơn và nhanh chóng hơn.
- Trong các phiên bản Laravel 5.x, bootstrap đã được thiết lập sẵn cấu hình,
chỉ cần tải về các gói (package) là sử dụng được.
- Mỗi trang web, khi muốn sử dụng có 2 cách là tải Bootstrap từ

getbootstrap.com hoặc thêm từ CDN.


13
CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG WEBSITE
BÁN BÁNH NGỌT
2.1. Phân tích hệ thống
2.1.1. Khảo sát bài toán
a. Hoạt động bán hàng
 Tại cửa hàng:
Khi khách hàng có nhu cầu mua bánh ngọt, nhân viên cửa hàng sẽ giới thiệu
cho khách hàng xem danh mục hàng dưới dạng sản phẩm thực tế để khách hàng có
thể lựa chọn sản phẩm cần mua.
Khi khách hàng đã chọn được một hoặc nhiều sản phẩm thì khách hàng sẽ
thông báo với nhân viên bán hàng về số lượng sản phẩm muốn mua để nhân viên
bán hàng viết hóa đơn thanh toán.
Khách hàng trả tiền và nhận sản phẩm của mình.
 Trên Website:
Khách hàng sẽ xem sản phẩm trên trang web của cửa hàng.
Sau khi chọn được sản phẩm ưng ý, khách hàng sẽ bấm chọn mua hàng và
điền thông tin cần thiết. Nhân viên cửa hàng sẽ dựa trên đơn hàng khách hàng đặt
để lập hóa đơn và gửi hàng. Khách hàng sẽ thanh toán sau khi nhận hàng hoặc thanh
toán qua thẻ ngân hàng.
b. Mục tiêu hệ thống
Giúp khách hàng có thể tìm kiếm sản phẩm mong muốn ngay trên thiết bị điện
tử có kết nối mạng của mình mà không cần phải tới cửa hàng.
Giúp khách hàng tạo giỏ hàng trong đó chứa thông tin về các sản phẩm và số
lượng sản phẩm muốn mua, tổng tiền khách hàng phải thanh toán để có được sản
phẩm đó. Hệ thống sẽ gửi thông tin giỏ hàng cho người quản trị Website xem và
thực hiện đơn hàng.



14
Hỗ trợ quản trị viên quản trị Website quản lý, cập nhật các thông tin về sản
phẩm đưa lên Website. Giao diện Website đẹp, dễ sử dụng là một lợi thế để thu hút
khách hàng.


15
c. Chức năng chính của hệ thống.
- Chức năng đăng ký, đăng nhập thành viên.
- Nhóm chức năng xem thông tin, bao gồm thông tin sản phẩm, tin tức, thông
tin giỏ hàng, đơn hàng và thông tin cá nhân.
- Nhóm chức năng quản lý bao gồm thông tin sản phẩm, thông tin nhà cung
cấp, thông tin danh mục, thông tin hóa đơn, thông tin thống kê, thông tin liên hệ,
thông tin về tin tức, thông tin khách hàng.
- Nhóm chức năng mua hàng, tiếp nhận và xử lý đơn hàng.
2.1.2. Xây dựng biểu đồ usecase
Xác định Actor:
- Admin: thực hiện chức năng quản lý, duy trì, điều hành toàn bộ phần mềm.
Thực hiện các chức năng thêm sửa xóa, nhận và trả lời các phản hồi từ khách hàng
hay cập nhật thêm thông tin, tin tức cho sản phẩm.
- Khách hàng: những người giao tiếp với Website đăng ký hoặc đăng nhập
thông tin với Website. Tra cứu thông tin sản phẩm, lựa chọn sản phẩm mình yêu
thích, mua sản phẩm và thanh toán cho sản phẩm mình muốn mua tại giỏ hàng.

Hinh 2. 1 biểu đồ usecase tổng quát


16

2.1.3. Biểu đồ phân rã chức năng và kịch bản
a. Chức năng của Admin
 Quản lý tin tức
Mô tả Use case quản lý khách hàng:
Admin thực hiện quản lý các thông tin của cửa hàng để những đợt khuyến mại
có thể gửi tin nhắn thông báo tri ân khách hàng, hoặc gửi thông báo có những sản
phẩm mới tới khách hàng, những Event trò chơi có thưởng mà cửa hàng tạo ra để
thu hút khách hàng.

Hinh 2. 2 Sơ đồ usecase phân rã chức năng quản lý tin tức
+ Kịch bản quản lý tin tức
Tên Use case
Tác nhân chính
Tiền điều kiện

Quản lý tin tức
Admin (Quản trị viên )
Quản trị viên đang trong phiên làm việc của mình
và ở trang quản lý tin tức.
Thông tin tin tức được giữ nguyên.
Thông tin tin tức được cập nhật.
Quản trị viên chọn chức năng “Thêm, Sửa, Xóa”.

Đảm bảo tối thiểu
Đảm bảo thành công
Kích hoạt
Chuỗi sự kiện chính:
1. Quản trị viên chọn chức năng: Thêm tin tức, Xóa tin tức, Sửa tin tức để cập nhật.
2. Hệ thông quay về trang quản lý tin tức.
Ngoại lệ

1. Tin tức bị thiếu thông tin.
2. Khách hàng không nhận được tin tức từ cửa hàng.
Bảng 2. 1. Kịch bản quản lý tin tức

 Quản lý khách hàng


17
Mô tả Use case quản lý khách hàng:
Admin thực hiện quản lý các thông tin của khách. Khi có một khách hàng
đăng ký một tài khoản tại Website của cửa hàng thì thông tin khách hàng đăng ký sẽ
được lưu lại để Admin có thể quản lý, theo dõi và hệ thống cập nhật ngay. Khi
khách hàng thay đổi thông tin cá nhân như địa chỉ, số điện thoại, email, … thì sẽ
được cập nhật lại trong trang quản lý khách hàng và chịu sự quản lý của Admin.
Ngoài ra, thao tác tìm kiếm khách hàng nhằm làm giảm thao tác của Admin, giảm
thời gian tương tác, tìm kiếm thông tin của khách hàng được nhanh hơn.

Hinh 2. 3. Sơ đồ usecase phân rã chức năng quản lý khách hàng
+ Kịch bản quản lý khách hàng
- Xóa khách hàng
Tên Use case
Tác nhân chính
Tiền điều kiện

Xóa khách hàng
Admin (Quản trị viên )
Quản trị viên đang trong phiên làm việc của mình

Đảm bảo tối thiểu


và ở trang quản lý khách hàng.
Hệ thống báo xóa thất bại và quay lại bước trước

Đảm bảo thành công

đó.
Hệ thống xóa thành công và khách hàng bị xóa

Kích hoạt
Chuỗi sự kiện chính:

khỏi CSDL.
Quản trị viên chọn chức năng “Xóa khách hàng”.

1. Hệ thống đưa ra thông báo yêu cầu xác nhận có thực sự muốn xóa hay không.
2. Quản trị viên nhấn vào nút “Yes”. Hệ thống loại bỏ thông tin khách hàng đã xóa


×