KẾT LUẬN...59 TÀI LIỆU THAM KHẢO...60DANH MỤC CÁC TỪ VIẾT TẮT PHP Hypertext Preprocessor DANH MỤC HÌNH VẼ Hình 1 : Hệ quản trị cơ sở dữ liệu MySql Hình 2 : Use case tổng quát Hình 3 : U
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG VIỆT HÀN
Khoa Khoa Học Máy Tính
ĐỒ ÁN TỐT NGHIỆP
XÂY DỰNG WEBSITE BÁN ÁO NAM
ONLINE
Sinh viên thực hiện: Hoàng Kim Bình Lớp: 19I1
Giảng viên hướng dẫn: Ths.Dương Thị Mai Nga Đà Nẵng, tháng 05 năm 2021
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN &
TRUYỀN THÔNG VIỆT HÀN
Khoa Khoa Học Máy Tính
Trang 2ĐỒ ÁN TỐT NGHIỆP
XÂY DỰNG WEBSITE BÁN
ÁO NAM ONLINE
Sinh viên: Hoàng Kim Bình Mã: 191C900003
Giảng viên hướng dẫn: Ths Dương Thị Mai Nga
Đà Nẵng, tháng 05 năm 2021
NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
Trang 3
LỜI CẢM ƠN
Trong thời gian làm đồ án tốt nghiệp, em đã nhận được nhiều sự giúp đỡ, đóng góp ý kiến và chỉ bảo nhiệt tình của thầy cô, gia đình và bạn bè
Em xin gửi lời cảm ơn chân thành đến Th.s Dương Thị Mai Nga, giảng viên trường Đại học công nghệ thông tin và truyền thông Việt Hàn, người đã tận tình hướng dẫn, chỉ bảo em trong suốt quá trình làm đồ án tốt nghiệp
Em cũng xin chân thành cảm ơn các thầy, cô giáo trong trường đại học công nghệ thông tin và truyền thông Việt Hàn nói chung, các thầy, cô trong Khoa Khoa học máy tính nói riêng đã dạy
dỗ cho em kiến thức về các môn đại cương cũng như các môn chuyên ngành, giúp em có được
cơ sở lý thuyết vững vàng và tạo điều kiện giúp đỡ em trong suốt quá trình học tập
Cuối cùng, em xin chân thành cảm ơn gia đình và bạn bè, đã luôn tạo điều kiện, quan tâm, giúp
đỡ, động viên em trong suốt quá trình học tập và hoàn thành khoá luận tốt nghiệp
Sinh viên, Kim Bình
MỤC LỤC
DANH MỤC CÁC TỪ VIẾT TẮT
DANH MỤC HÌNH VẼ
MỞ ĐẦU 9
1 Giới thiệu 1
2 Mục tiêu của đề tài 1
3 Nội dung và kế hoạch thực hiện .2 4 Bố cục báo cáo 2
Chương 1.CƠ SỞ LÝ THUYẾT VỀ NỀN TẢNG XÂY DỰNG HỆ THỐNG 3
1 CƠ KHÁI QUÁT VỀ THƯƠNG MẠI ĐIỆN TỬ 3 1.1Khái niệm về thương mại điện tử? 3 1.2.Lợi ích của việc sử dụng thương mại điện tử 3 1.3 Cơ hội đạt lợi nhuận 3 1.4.Giảm thiểu các hoạt động
kinh doanh 4 1.5.Chiến lược kinh doanh 4 1.6.Cơ sở hạ
Trang 4tầng 4 1.7.Nhân lực 4 1.8.Bảo mật và an
toàn 4 2 TỔNG QUÁT VỀ LARAVEL VÀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL 5 2.1 Giới thiệu về Laravel 5 2.2 Tại sao sử dụng Laravel 5 2.3 Những điểm mạnh của
Laravel 6 2.4 Theo mô hình MVC 6 2.5 Giới thiệu về ngôn ngữ
Laravel 6 2.6 Cài đặt Laravel 14 2.7 Giới thiệu về hệ
quản trị cơ sở dữ liệu MySQL 15 2.8 Ưu điểm của MySQL 15 2.9 Tại sao ta sử dụng hệ
cơ sở dữ liệu MySQL? 16 2.10 Sự kết hợp giữa Laravel và
MySQL 16 3 Kết chương
1 18
Chương 2 PHÂN TÍCH VÀ THIẾT KẾ … 19
1 PHÂN TÍCH 19 1.1 Đặt vấn đề 19 1.2 Bài toán 19 1.3 Hướng giải quyết bài toán 20 1.4 Mô hình trên
mạng 20 2 THIẾT
KẾ 21 2.1 Mô hình
use case tổng quát 51 2.2 Mô hình 51 2.3 Hoạt dộng 55 2.4 Sự kết nối 35 3 Kết chương
2 48 Chương 3.KẾT
QUẢ ĐẠT ĐƯỢC … 29 1.VỀ PHÍA
KHÁCH HÀNG 29 2 VỀ PHÍA NGƯỜI QUẢN LÝ 52 3 Kết chương
3 55
Chương 4 :KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 56
1.KẾT QUẢ ĐẶT ĐƯỢC 56 2 HƯỚNG PHÁT TRIỂN 56 3 Kết chương 3 57
Trang 5KẾT LUẬN 59 TÀI LIỆU THAM KHẢO 60
DANH MỤC CÁC TỪ VIẾT TẮT
PHP Hypertext Preprocessor
DANH MỤC HÌNH VẼ
Hình 1 : Hệ quản trị cơ sở dữ liệu MySql
Hình 2 : Use case tổng quát
Hình 3 : Use case khách hàng
Hình 4 : Use case khách hàng quản lý giỏ hàng
Hình 5 : Use case khách hàng tìm kiếm
Hình 6 : Use case Administrator quản lý danh mục sản phẩm
Hình 6 : Use case Administrator quản lý thương hiệu
Hình 7 : Use case Administrator quản lý sản phẩm
Hình 8 : Use Case cho Tác nhân Adminitrator quản lý khách hàng
Hình 9 : Use case Administrator quản lý hóa đơn
Hình 10 : Use case Administrator quản lý bình luận và ý kiến
Hình 11 : Activity khách hàng quản lý giỏ hàng
Hình 12 : Activity khách hàng tìm kiếm sản phẩm
Hình 13 : Activity Administrator quản lý danh mục sản phẩm
Hình 14 : Activity Administrator quản lý sản phẩm
Hình 14 : Activity Administrator quản lý đơn hàng
Hình 15 : Activity Administrator quản lý chi tiết hóa đơn
Hình 16 : Activity Administrator xem báo cáo, thống kê
Hình 17 : Sự kết nối khách hàng đăng kí
Hình 18 : Sự kết nối khách hàng đăng nhập
Hình 19 : Sự kết nối khách hàng tìm kiếm sản phẩm
Hình 20 : Sự kết nối khách hàng xem chi tiết sản phẩm Hình 21 : Sự kết nối
khách hàng thêm sản phẩm vào giỏ hàng Hình 22 : Sự kết nối khách hàng
xóa sản phẩm ở giỏ hàng Hình 23 : Sự kết nối khách hàng cập nhật thông
tin sản phẩm ở giỏ hàng Hình 24 : Sự kết nối Administrator đăng nhập
Hình 25 : Sự kết nối Administrator cập nhật thông tin khách hàng
Hình 26 : Sự kết nối Administrator thêm khách hàng
Hình 27 : Sự kết nối Administrator xóa khách hàng
Hình 28 : Sự kết nối Administrator thêm sản phẩm
Hình 29 : Sự kết nốiAdministrator cập nhật thông tin sản phẩm
Hình 30 : Sự kết nối Administrator xóa sản phẩm
Hình 31 : Sự kết nối Administrator cập nhật thông tin danh mục
Hình 32 : Sự kết nối Administrator thêm danh mục
Hình 33 : Sự kết nối Administrator xóa danh mục
Hình 34 : Sự kết nối Administrator cập nhật ý kiến khách hàng
Hình 35 : Sự kết nối Administrator xóa ý kiến khách hang Hình
Trang 636 : Sự kết nối Administrator cập nhật thông tin hóa đơn Hình
37 : Sự kết nối Administrator thêm hóa đơn
Hình 38 : Sự kết nối Administrator xóa hóa đơn
Hình 39 : Sự kết nối Administrator cập nhật chi tiết hóa đơn
Hình 40 : Sự kết nối Administrator xem báo cáo, thống kê
Hình 41 : Class diagram
Hình 42 : Cơ sở dữ liệu tổng quan của hệ thống
Hình 43 : Giao diện người dung
Hình 49 : Giao diện chi tiết sản phẩm
Hình 50 : Giao diện giỏ hàng
Hình 51 : Giao diện thanh toán
đa dạng và phát triển hơn Các ứng dụng Web ngày càng trở nên phổ biến Trước nhu cầu đó,
cùng với yêu cầu môn học, em quyết định chọn đề tài Xây dựng Website bán áo nam online
2 Mục tiêu của đề tài
- Khảo sát hệ thống thông tin “Thương Mại Điện Tử” theo yêu cầu của các cá nhân, cơquan, công ty…Việc bán hàng đòi hỏi cần phải có tư duy, đầu óc kinh doanh và khả năng nhạybén nắm bắt thị trường Một cửa hàng bán các mặt hàng không cần nhiều nhân viên, kháchhàng không cần trực tiếp đến mua hàng mà có thể tại nhà dùng vài cái click chuột thì có thể cóđược sản phẩm mình cần
- Việc tạo ra một website thương mại điện tử bán hàng trực tuyến sẽ gặp nhiều khókhăn trong việc bảo mật thông tin, cũng như qui tín đến khách hàng Laravel Frameword làmột hệ thống đống gói module, quản lý package (Composer), hổ trợ nhiều hệ quản trị CSDLgiúp bạn thực hiện các website động một cách nhanh chóng và dễ dàng Là hệ thống quản trịnội dung mã nguồn mở uy tính hiện nay Linh hoạt, đơn giản, thanh nhã, tính tuỳ biến rất cao
và cực kỳ mạnh mẽ, đó là những gì có thể nói về Laravel PHP Frameword! Được sử dụng ởtrên toàn thế giới từ những trang web đơn giản cho đến những ứng dụng phức tạp Việc cài đặtLararel PHP Frameword khá dễ dàng, đơn giản trong việc quản lý và đáng tin cậy
Trang 7- Xây dựng được một website hoàn chỉnh, đầy đủ các chức năng cơ bản của một website bán hàng trực tuyến
- Website có nội dung hấp dẫn, đầy đủ, phù hợp với mọi đối tượng sử dụng - Website được sắp xếp, bố cục một cách hợp lý, tạo điều kiện cho người dùng dễ định hướng trong website
- Website có hình thức đẹp, phù hợp với chủ đề, nội dung, thân thiện với người dùng
1
3 Nội dung và kế hoạch thực hiện
Thời gian Nội dung thực hiện
Từ 03/09 đến 10/09 Xát định vấn đề cần giải quyết
Từ 11/09 dến 24/09 Phân tích hiện trạng
Từ 25/09 đến 03/10 Tìm kiếm giải pháp
Từ 04/10 đến 20/11 Thiết kế và thực hiện nội dung giải pháp
21/11 đến 29/11 Vận hành thử nghiệm và đánh giá kết quả
4 Bố cục báo cáo
Sau phần Mở đầu, báo cáo được trình bày trong ba chương, cụ thể như sau:
Chương 1 CƠ SỞ LÝ THUYẾT VỀ NỀN TẢNG XÂY DỰNG HỆ THỐNG
Bước đầu tiên đề làm một website thì chúng ta phải hiểu được bản chất ngôn ngữ mình
dùng để lập trình Ở chương này đồ án tập trung giới thiệu về ngôn ngữ LARAVEL và hệ
cơ sở dữ liệu MYSQL Cung cấp kiến thức cơ bản về lập trình bằng ngôn ngữ LARAVEL
Chương 2 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
Để có một hệ thống bán hàng tiến tiến, hợp lý nhất thì nhà thiết kế luôn phải lên kế
hoạch, phân tích hệ thống từ nhiều phía để mang lại sự hợp lý và thống nhất cho hệ thống
Chương này sẽ phân tích yêu cầu đề bài, thiết kế hệ thống trên cơ sở lý thuyết từ đó giúp ta
có cái nhìn tổng quát hơn về hệ thống Giúp cho việc thiết kế thực tế dễ dàng hơn
Chương 3 KẾT QUẢ ĐẠT ĐƯỢC
Áp kiến thức cơ bản và bước phân tích về lý thuyết, chương 3 là công đoạn vận hành chạy website trên thực tế
Chương 4 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Qua các quá trình ở các chương thì ta kết luận lại dự án của ta được gì và thiếu những gì
Trang 8Có những điểm mạnh gì và có những điểm yếu gì Từ đó ta tìm ra hướng phát triển và hoànthiện một website tối ưu nhất.
2
Chương 1 CƠ SỞ LÝ THUYẾT VỀ NỀN TẢNG XÂY DỰNG
HỆ THỐNG
1.TỔNG QUÁT VỀ THƯƠNG MẠI ĐIỆN TỬ
1.1.Khái niệm thương mại điện tử?
Cùng với sự bùng nổ về internet thì thuật ngữ thương mại điện tử (TMĐT) đã ra đời
Có rất nhiều định nghĩa về thương mại điện tử như là:
Theo Tổ chức Thương mại thế giới (WTO): "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ênmạ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"
Nhưng hiểu một cách tổng quát, TMĐT là việc tiến hành một phần hay toàn bộ hoạtđộng thương mại bằng những phương tiện điện tử TMĐT vẫn mang bản chất như các hoạtđộng thương mại truyền thống Tuy nhiên, thông qua các phương tiện điện tử mới, các hoạtđộng thương mại được thực hiện nhanh hơn, hiệu quả hơn, giúp tiết kiệm chi phí và mở rộngkhông gian kinh doanh
TMĐT càng được biết tới như một phương thức kinh doanh hiệu quả từ khi Internethình thành và phát triển Chính vì vậy, nhiều người hiểu TMĐT theo nghĩa cụ thể hơn là giaodịch thương mại, mua sắm qua Internet và mạng (ví dụ mạng Intranet của doanh nghiệp)
1.2 Lợi ích của việc sử dụng thương mại điện tử
Có thể hiểu được rằng bằng cách sử dụng phương tiện này sẽ giúp ích cho người sử dụngmôi trường mạng trong việc tìm kiếm đối tác, nắm bắt được thông tin trên thị trường, giảm chiphí tiếp thị và giao dịch nhằm mở rộng qui mô sản xuất hoạt động kinh doanh trong thươngtrường
1.3 Cơ hội đạt lợi nhuận
Nắm bắt được nhiều thông tin phong phú, giúp cho các doanh nghiệp nhờ đó mà có thể
đề ra các chiến lược sản suất và kinh doanh thích hợp với xu thế phát triển trong và ngoài
Trang 9nước.Đối với những doanh nghiệp vừa và nhỏ có cơ hội mởrộng đối tác trên thị trường, nắmtình hình thị trường mà nhờ đó sẽ được biết đến tên tuổi công.
3 Hiện nay thương mại điện tử đang được nhiều người quan tâm và thu hút rất hiều thươnggia doanh nghiệp trên thế giới, vì đó là một trong những động lực phát triển doanh nghiêp vàcho cả nước
1.4 Giảm thiểu các hoạt động kinh doanh
Giảm chi phí sản xuất , chi phí văn phòng, chi phí thuê mặt bằng….Bên cạnh đókhông cần tốn nhiều nhân viên để quản lý và mua bán giao dịch.Thương mại điện tử giúpgiảm chi phí bán hàng và tiếp thị mà chỉ thông qua môi trường Web một nhân viên vẫn cóthể giao dịch với nhiều đối tác, khách hàng đồng thời còn trưng bày, giới thiệu catalog đủloại hàng hóa, xuất xứ của từng loại sản phẩm Do đó giảm được chi phí in ấn cho cáccatalog và giao dịch mua bán
Điều quan trọng nhất là giảm được thời gian trao đổi đáng kể cho khách hàng vàdoanh nghiệp Chỉ trong thời gian ngắn mà doanh nghiệp có thể nắm bắt được thị hiếukhách hàng và thị trường thay đổi mà nhanh chóng kịp thời củng cố và đáp ứng cho nhu cầu
đó
1.5 Chiến lược kinh doanh
Qua thương mại điện tử giúp các doanh nghiệp có thể củng cố quan hệ hợp tác, thiếtlập các quan hệ tốt hơn với bạn hàng, người dùng Đồng thời ngày càng có điều kiện nâng cao
uy tín trên thị trường
1.6 Cơ sở hạ tầng
Trong việc phát triển thương mại dựa trên hệ thống thông tin thì trước hết phải có một
kĩ thuật máy tính điện tử hiện đại, server, phần mềm hỗ trợ vững chắc những trang thiết bịtương đối hoàn thiện và đảm bảo thông tin bảo mật chống virut và cách phòng chống nhữngnguy cơ bị xâm nhập ảnh hưởng quốc gia phù hợp với từng doanh nghiệp và theo đúngchuẩn mực do doanh nghiệp đề ra
1.7 Nhân lực
Để có thể theo kịp và nắm bắt thông tin kịp thời trong thời đại thông tin thì phải xâydựng một đội ngũ cán bộ, nhân viên có trình độ tin học, kỹ thuật điện tử, khả năng tiếp cậnnhanh chóng các phần mềm mới.Bên cạnh đó ngoài khả năng giao tiếp ngôn ngữ trong nước,nhân viên còn phải trang bị vốn tiếng Anh (ngôn ngữ giao tiếp toàn cầu) để có thể tiến xahơn.Đây là cách cũng sẽ dẫn đến sự thay đổi trong hệ thống và giáo dục ngày nay
1.8 Bảo mật và an toàn
Trong thương trường giao dịch bằng Internet là yếu tố không mấy đảm bảo rằng vấn đề bảo mật và an toàn là cao.Với sự mạnh mẽ của Internet thì việc xâm nhập tài liệu cá nhân, các hợp đồng, tín dụng, dữ liệu sẽ bị lộ và tin chắc rằng sẽ không có người nào sẽ tham gia vào công việc mua bán qua mạng nữa
Một vấn đề đáng lo ngại nữa là mất dữ liệu, một hệ thống được xem là an toàn nhất vấn
đề hàng đầu là trọng tâm để có thể cho mọi người, nhất là các doanh nghiệp có khả năng mua
Trang 10bán mà không thể đổ lỗi lẫn nhau.
4
2 TỔNG QUÁT VỀ LARAVEL VÀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU
2.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 mục tiêu hỗ trợ phát triển các ứng dụng web theo cấu trúc model- view controller (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óiModular 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
Vào khoảng Tháng 3 năm 2015, các lập trình viên đã có một cuộc bình chọn PHPframework phổ biến nhất, Laravel đã giành vị trí quán quân cho PHP framework phổ biến nhấtnăm 2015, theo sau lần lượt là Symfony2, Nette, CodeIgniter, Yii2 vào một số khác Trước đó,Tháng 8 năm 2014, Laravel đã trở thành project PHP phổ biến nhất và được theo dõi nhiều nhấttrên Github
Laravel được phát hành theo giấy phép MIT, với source code được lưu trữ tại Gitthub Được phát triển dựa trên mô hình MVC, Laravel là một PHP Framework mã nguồn mở miễn phí với cú pháp rõ ràng, mạch lạc
Như đã chia sẻ ở bài viết trước, Framework hoặc “Software Framework” (tạm dịch: khungphần mềm) là “bộ khung” cung cấp đa số các kiểu mẫu thiết kế phù hợp với ứng dụng bạn sắpthực hiện, các thư viện, API, trình biên dịch Framework được cấu thành từ các đoạn code
MVC (Model-View-Controller) là mô hình phân bố source code thành 3 phần Mỗi thành phần có một nhiệm vụ riêng biệt và độc lập với các thành phần khác Cụ thể là: Model : Đây là nơi chứa những nghiệp vụ tương tác với dữ liệu hoặc hệ quản trị cơ sở dữ liệu (mysql, mssql…) Thành phần Model bao gồm các class/function xử lý nhiều nghiệp vụ như kết nối database, truy vấn dữ liệu, thêm – xóa – sửa dữ liệu, …
View : Đây là nơi chứa những giao diện như nút bấm, khung nhập, menu, hình ảnh, …Thành phần View sẽ đảm nhiệm nhiệm vụ hiển thị dữ liệu và giúp người dùng tương tác với hệthống
Controller : Đây là nơi tiếp nhận những yêu cầu xử lý được gửi từ người dùng Thành phầnController sẽ gồm những class/ function xử lý nhiều nghiệp vụ logic giúp lấy đúng dữ liệu thôngtin cần thiết và hiển thị dữ liệu đó ra cho người dùng qua lớp View
Alison.com, Barchart.com, … và nhiều trang web lớn trên thế giới đã được phát triển trênnền tảng Laravel Tại Việt Nam, Laravel được sử dụng phổ biến với cộng đồng rộng lớn chiếm tỷ
lệ hơn 70% người dùng
2.2 Tại sao ta sử dụng Laravel?
Để thiết kế Web động có rất nhiều ngôn ngữ lập trình khác nhau để lựa chọn, mặc dùcấu hình và tính năng khác nhau nhưng chúng vẵn đưa ra những kết quả giống nhau.Chúng ta có thể lựa chọn cho mình một ngôn ngữ : ASP, LARAVEL, 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 LARAVEL Rất
5 đơ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
Trang 11LARAVEL được sử dụng làm Web động vì nó nhanh, dễ dàng, tốt hơn so với các giải pháp khác
LARAVEL có khả năng thực hiện và tích hợp chặt chẽ với hầu hết các cơ sở dữ liệu
có sẵn, tính linh động, bền vững và khả năng phát triển không giới hạn
Đặc biệt LARAVEL là mã nguồn mở do đó tất cả các đặc tính trên đều miễn phí, vàchính vì mã nguồn mở sẵn có nên cộng đồng các nhà phát triển Web luôn có ý thức cải tiến
nó, nâng cao để khắc phục các lỗi trong các chương trình này
LARAVEL vừa dễ với người mới sử dụng vừa có thể đáp ứng mọi yêu cầu của các lậptrình viên chuyên nghiệp, mọi ý tuởng của các bạn LARAVEL có thể đáp ứng một cáchxuất sắc
Cách đây không lâu ASP vốn được xem là ngôn ngữ kịch bản phổ biến nhất, vậy màbây giờ LARAVEL đã bắt kịp ASP, bằng chứng là nó đã có mặt trên 12 triệu Website
2.3 Những điểm mạnh của Laravel
- Sử dụng các tính năng mới nhất của PHP
- Tài liệu tuyệt vời
- Tích hợp với dịch vụ mail
- Hỗ trợ cache backend phổ biến
- Công cụ tích hợp cho dòng lệnh - Artisan
2.5 Giới thiệu về ngôn ngữ Laravel
Vì LARAVEL là ngôn ngữ của máy chủ nên mã lệnh của LARAVEL sẽ tập trung trênmáy chủ để phục vụ các trang Web theo yêu cầu của người dùng thông qua trình duyệt
Sơ đồ hoạt động:
6
Trang 12Khi người dùng truy cập Website viết bằng LARAVEL, máy chủ đọc mã lệnh
LARAVEL và xử lí chúng theo các hướng dẫn được mã hóa Mã lệnh LARAVEL yêu cầu máy chủ gửi một dữ liệu thích hợp (mã lệnh HTML) đến trình duyệt Web Trình duyệt xem
nó như là một trang HTML têu chuẩn Như ta đã nói, LARAVEL cũng chính là một trang HTML nhưng có nhúng mã LARAVEL và có phần mở rộng là HTML Phần mở của LARAVEL được đặt trong thẻ mở <?Laravel và thẻ đóng ?> Khi trình duyệt truy cập vào một trang LARAVEL, Server sẽ đọc nội dung file LARAVEL lên và lọc ra các đoạn mã LARAVEL và thực thi các đoạn mã đó, lấy kết quả nhận được của đoạn mã LARAVEL thay thế vào chỗ ban đầu của chúng trong file LARAVEL, cuối cùng Server trả về kết quả cuối cùng là một trang nội dung HTML về cho trình duyệt 1.1Các loại thẻ LARAVEL
Có 4 loại thẻ khác nhau mà bạn có thể sử dụng khi thiết kế trang LARAVEL: ●
Kiểu Short:Thẻ mặc định mà các nhà lập trình LARAVEL thường sử dụng
<script language= “Laravel”>
echo “Laravel Script”;
</script>
● Kiểu ASP: Trong trường hợp bạn khai báo thẻ LARAVEL như một phần trong
Trang 13trang ASP
Ví dụ:
<% echo “LARAVEL – ASP”; %>
LARAVEL và HTML là các ngôn ngữ không “nhạy cảm“ với khoảng trắng, khoảngtrắng có thể được đặt xung quanh để các mã lệnh để rõ ràng hơn Chỉ có khoảng trắng đơn
có ảnh hưởng đến sự thể hiện của trang Web (nhiều khoảng trắng liên tiếp sẽ chỉ thể hiệndưới dạng một khoảng trắng đơn)
+ Mảng một chiều: Có thể dùng hàm List() hoặc Array() Có thể dùng các hàm
aort(), ksort(), sort(), uaort(), để sắp xếp mảng, tùy thuộc vào việc bạn định sắp xếp theokiểu gì
LARAVEL quy định một biến được biểu diễn bắt đầu bằng dấu $, sau đó là một chữ cái hoặc dấu gạch dưới
● Một số biến đã được khai báo sẵn:
HTTP_GET_VARS: Mảng các giá trị nguyên truyền tới script thông qua phương thức
HTTP GET Chỉ có tác dụng nếu “track_vars” Trong cấu hình được đặt hoặc chỉ dẫn <?
Laravel_track_vars?>
Trang 14HTTP_POST_VARS: Mảng các giá trị nguyên truyền tới script thông qua phương thứcHTTP POST
HTTP_COOKIE_VARS: Một mảng các giá trị được truyền tới script hiện tại bằng
HTTP cookie Chỉ có tác dụng nếu “track_vars” trong cấu hình được đặt hoặc chỉ dẫn <?
Laravel_track_vars?>
● Phạm vi giá trị:
LARAVEL coi một biến có một giới hạn Để xác định một biến toàn cục (global) có tácdụng trong một hàm ta cần khai báo lại Nếu không có giá trị của biến sẽ được coi như làcục bộ trong hàm
Khi có khai báo global, $a và $b được biết đó là những biến toàn cục Nếu không có khai báo global, $a và $b chỉ được coi là các biến bên trong hàm Sum().Tên biến
Một biến có thể gắn với một cái tên Ví
1.4 Các giá trị bên ngoài phạm vi LARAVEL:
HTML Form: Khi 1 giá trị gắn với 1 file Laravel qua phương thức POST
Ví dụ:
<form action = “top Laravel” method= “post”>
Name: < input type = “text” name = “name” ><BR>
<input type = “Submit”>
</form>
9 LARAVEL sẽ tạo 1 biến $ name bao gồm mọi giá trị trong trường Name của Form.LARAVEL có thể hiểu được một mảng một chiều gồm các giá trị trong một Form
Vì vậy, bạn có thể nhóm những giá trị liên quan lại với nhau hoặc sử dụng đặc tính này để nhận các giá trị từ 1 đầu vào tuỳ chọn
Khi tính chất track_vars được đặt trong cấu hình hoặc có chỉ dẫn:
<?Laravel track_vars ?>
Các giá trị được submit sẽ lấy ra qua phương thức GET và POST có thể lấy ra từ 2
mảng toàn cục $HTTP_POST_ VARS và $HTTP_GET_ VARS
1.5 Hằng
Trang 15LARAVEL định nghĩa sẳn các hằng số:
_FILE_: Tên của script file đang thực hiện
_LINE_: Số dòng của mã script đang được thực hiện trong script file hiện tại
_LARAVEL_VERSION_: version của
LARAVEL đang chạy TRUE
FALSE
E_ERROR: Báo hiệu có lỗi
E_PARSE: Báo lỗi sai khi biên dịch
E_NOTICE: Một vài sự kiện có thể là lỗi hoặc khôngCó thể định nghĩa một hằng số bằnghàm define()
1.6Biểu thức
Biểu thức là một thành phần quan trọng trong LARAVEL Một dạng cơ bản nhất củabiểu thức bao gồm các biến và hằng số LARAVEL hỗ trợ 3 kiểu giá trị cơ bản nhất: Sốnguyên, số thực và xâu Ngoài ra còn có mảng và đối tượng Mỗi kiểu giá trị này có thểgán cho các biến hay làm giá trị ra của các hàm
//thực hiện một điều khác}
If(điều kiện 1){
//thực hiện một điều gì đó
10 } elseif(điều kiện 2) {
//thực hiện một điều khác }else {
//thực hiện một điều khác nữa LARAVEL còn có một dạng câu lệnh điều kiện nữa là Swich Câu lệnh này rất phù hợp cho việc thay thế nếu câu lệnh if- elseif- else quá dài Cú pháp của câu lệnh switch như sau: Switch($variable){
Case ‘giá trị 1’:
//thực hiện lệnh Break;
Case ‘giá trị 2’:
//thực hiện lệnh
Trang 16{
Expression;
}
o Condition:Biểu thức điều kiện, biến,
o Expression:Khối lệnh trong vòng lặp while
Vòng lặp For:
For(expression1;condition;expression2) {
expression3;
} Trong đó:
o Condition: điều kiện giới hạn của vòng lặp for
o Expression1: Giá trị khởi đầu của vòng lặp for
o Expression2: Giá trị lặp của vòng lặp for
o Expression3: Khối lệnh bên trong của vòng lặp for
11
● Vòng lặp do while
Do { expression } while(condition) Trong đó:
Expression: khối lệnh bên trong vòng lặp do while Condition: biểu thức điều kiện, biến
● Vòng lặp while
While(condition)
{expression;
}
Trong đó: Biểu thức điều kiện, biến Expression:
Khối lệnh bên trong vòng lặp while
Exit:Thoát khỏi các vòng lặp hay phát biểu điều khiển nào đó
Trang 17}
● Tham biến:
Function add_some_extra (&$string)
{$string =’and somthing extra’; }
● Tham số có giá trị mặc định
Function makecoffee($type = “cappucino”)
{ Return “Making a cup of $type \n”; } Chú ý: Khi sử dụng hàm có đối số có giá trị mặc định, các biến này sẽ phảinằm về phía phải nhất trong danh sách đối số
● Giá trị trả lại của hàm:
Có thể là bất kỳ giá trị nào Tuy vậy, không thể trả lại nhiều giá trị riêng
lẻ nhưng có thể trả lại một mảng các giá trị
12
● Hàm biến
LARAVEL cho phép sử dụng hàm giá trị nghĩa là khi một biến được gọi cókèm theo dấu ngoặc đơn, LARAVEL sẽ tìm hàm có cùng tên với giá trị biến đóthực hiện
1.10 Các toán tử:
Các phép số học: +, -, *, /%
Các toán tử logic: And, or, xor: &&, ||, ! Toán tử thao tác với bít: &, |, ^, ~, <<, >>Toán tử so sánh: ==, !=, <, >, <=, >=, ===
Toán tử điều khiển lỗi: @ - khi đứng trước 1 biểu thức thì các lỗi của biểu thức sẽ bị
bỏ qua và lưu trong $LARAVEL_errormsg
Toán tử thực thi: “LARAVEL sẽ thực hiện nội dung nằm giữa 2 dấu “ như 1 lệnh shell Trả
ra giá trị là kết quả thực hiện lệnh
1.11 Lớp và đối tượng
Class: là tập hợp các biến và hàm làm việc với các biến này Một lớp có định dạng
như sau:
<?Laravel
Trang 18Class Cart{
Var $items;
Function add_item($a) }
Tham chiếu LARAVEL cho phép bạn tạo 2 biến có cùng nội dung
Tham chiếu truyền giá trị bằng tham chiếu Thực hiện việc này bằng cách tạo một hàm cục bộ và truyền giá trị được tham chiếu
Giá trị trả lại của một hàm bằng tham chiếu rất tiện lợi khi bạn muốn sử dụng hàm để
tìm 1 giá trị trong một phạm vi nào đó
13
2.6 Hướng dẫn cài đặt Laravel
• Yêu cầu hệ thống để cài đặt Laravel
Để có thể cài đặt được Laravel bạn cần đáp ứng đủ các yêu cầu bắt buộc sau:
➢ Thông qua Laravel Installer
Bạn mở Terminal (CMD hoặc Git Bash), gõ dòng lệnh sau: “composer global require
“laravel/installer””
Đối với Windows, đường dẫn là “%appdata%\Composer\vendor\bin”
Trang 19Đối với macOS và Linux, đường dẫn là “~/.composer/vendor/bin”
Sau khi cài đặt xong, bạn di chuyển vào thư mục htdocs của XAMPP Sau đó mở cửa sổlệnh (đối với windows thì nhấp Shift + chuột phải và chọn Command Window Here hoặc GitBash Here) và gõ: “laravel new blog”
Trong đó blog chính là tên thư mục laravel project của bạn Vậy là chúng ta đã cài đặt xong Laravel rồi đấy
➢ Thông qua composer
Di chuyển thẳng vào thư mục htdocs của XAMPP, tại đây mở cửa sổ lệnh và gõ
“composer create-project –prefer-dist laravel/laravel blog”
Trong đó blog chính là tên thư mục laravel project của bạn
➢ Sử dụng framework Laravel
14 Sau khi cài đặt hoàn tất, mở WebServer của bạn lên, đến thư mục public trong thư mụcLaravel project hoặc từ thư mụ Laravel project, gõ lệnh: “php artisan serve” Khi đó trên mànghình console xuất hiện thông báo:”Laravel development server started on http://localhost:8000/”.Vào trình duyệt gõ: http://localhost:8000 Như vậy bạn có thể bắt đầu sử dụng Laravel
Trên đây là những thông tin giải đáp về Laravel là gì? Tại sao nên sử dụng laravel và cách cài đặt nó mà Bizfly muốn mang tới cho bạn
Nếu như bạn là một lập trình viên mới hoặc muốn thử sức mình với ngành lập trình thìhãy thử cài đặt và sử dụng framework nổi tiếng này Ngoài ra, đừng quên theo dõi các bài viếttiếp theo của Bizfly để có được những thông tin hữu ích về lập trình web, chabot hay những kiếnthức về marketing
2.7 Giới thiệu về hệ quản trị cơ sở dữ liệu MySQL
MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở miễn phí, được tích hợp sử dụng chung với apache, PHP
MySQL quản lý dữ liệu thông qua các cơ sở dữ liệu, mỗi cơ sở dữ liệu có thể có nhiều bảng quan hệ chứa dữ liệu
MySQL có cơ chế phân quyền người sử dụng riêng, mỗi người dùng có thể đượcquản lý một hoặc nhiều cơ sở dữ liệu khác nhau, mỗi người dùng có một tên truy cập (username) và mật khẩu tương ứng để truy xuất đến cơ sở dữ liệu
Khi ta truy vấn tới cơ sở dữ liệu MySQL, ta phải cung cấp tên truy cập và mật khẩucủa tài khoản có quyền sử dụng cơ sở dữ liệu đó Nếu không, chúng ta sẽ không làm được
gì cả
2.8 Ưu điểm của MySQL
Trang 20Tốc độ: MySQL rất nhanh Những nhà phát triển cho rằng MySQL là cơ sở dữ liệu nhanh nhất mà bạn có thể có
Dễ sử dụng: MySQL tuy có tính năng cao nhưng thực sự là một hệ thống cơ sở dữ liệurất đơn giản và ít phức tạp khi cài đặt và quản trị hơn các hệ thống lớn Giá thành: MySQL làmiễn phí cho hầu hết các việc sử dụng trong một tổ chức
Hỗ trợ ngôn ngữ truy vấn: MySQL hiểu SQL, là ngôn ngữ của sự chọn lựa cho tất cả các hệ thống cơ sở dữ liệu hiện đại Bạn cũng có thể truy cập MySQL bằng
cách sử dụng các ứng dụng mà hỗ trợ ODC (Open Database Connectivity một giao thức giao tiếp cơ sở dữ liệu được phát triển bởi Microsoft)
Năng lực: Nhiều client có thể truy cập đến server trong cùng một thời gian Các client
có thể sử dụng nhiều cơ sở dữ liệu một cách đồng thời Bạn có thể truy cập MySQL tương
15 tác với sử dụng một vài giao diện để bạn có thể đưa vào các truy vấn và xem các kết quả: các dòng yêu cầu của khách hàng, các trình duyệt Web…
Kết nối và bảo mật: MySQL được nối mạng một cách đầy đủ, các cơ sở dữ liệu có thểđược truy cập từ bất kỳ nơi nào trên Internet do đó bạn có thể chia sẻ dữ liệu của bạn với bất
kỳ ai, bất kỳ nơi nào Nhưng MySQL kiểm soát quyền truy cập cho nên người mà không nênnhìn thấy dữ liệu của bạn thì không thể nhìn được
Tính linh động: MySQL chạy trên nhiều hệ thống UNIX cũng như không phải UNIXchẳng hạn như Windows MySQL chạy được các với mọi phần cứng từ các máy PC ở nhà chođến các máy server
Sự phân phối rộng: MySQL rất dễ dàng đạt được, chỉ cần sử dụng trình duyệt web củabạn Nếu bạn không hiểu làm thế nào mà nó làm việc hay tò mò về thuật toán, bạn có thể lấy
mã nguồn và tìm tòi nó Nếu bạn không thích một vài cái, bạn có thể thay đổi nó
Sự hỗ trợ: Bạn có thể tìm thấy các tài nguyên có sẵn mà MySQL hỗ trợ Cộng đồng MySQL rất
có trách nhiệm Họ trả lời các câu hỏi trên mailing list thường chỉ trong vài phút Khi lỗi đượcphát hiện, các nhà phát triển sẽ đưa ra cách khắc phục trong vài ngày, thậm chí có khi trong vài
giờ và cách khắc phục đó sẽ ngay lập tức có sẵn trên Internet
2.9Tại sao ta sử dụng hệ cơ sở dữ liệu MySQL?
Nhanh và mạnh: MySQL không có đầy đủ những cơ sở vật chất cho một hệ quản trịCSDL chính tông, nhưng đối với công việc thường nhật của phần đông mọi người thì nó cungcấp cũng khá nhiều thứ Nếu công việc của bạn là lưu trữ dữ liệu trên web hoặc làm một trangThương mại điện tử thì MySQL có đủ những thứ bạn cần Đối với những CSDL cỡ trung bìnhthì MySQL hỗ trợ tuyệt vời về tốc độ
Cải tiến liên tục: MySQL được cải thiện liên tục với một tần số không ngờ Các nhà phát triển nó cập nhật thường xuyên, ngoài ra còn bổ sung các tính năng hữu ích cho nó
2.10 Sự kết hợp giữa Laravel và MySQL
Sự kết hợp giữa PHP và MySQL tạo nên một nền tảng tốt cho trang web Số lượngngười sử dụng ngôn ngữ này ngày càng cao trong cộng động lập trình web, PHP và MySQLtrở nên rất thông dụng Dường như đó là 1 cặp bài trùng
PHP kết hợp với MySQL sẽ tạo ra các ứng dụng chéo nền (crossplatform), nghĩa là, bạn có thể phát triển ứng dụng trên Windows, và máy chủ là Unix
- Backup cơ sở dữ liệu:
Trang 21File cơ sở dữ liệu backup được đặt trong file shopbanhanglaravel.sql.Chúng ta có thể vào
phpMyAdmin để tiến hành khôi phục lại cơ sở dữ liệu cho website
Hình ảnh cơ sở dữ liệu sau khi được backup
16
Hình 1 : Hệ quản trị cơ sở dử liệu MySqp
- Cấu hình để kết nối với cơ sở dữ liệu
File dbcon.php nằm trong thư mục chính của web chứa cấu hình để liên kết với cơ sở
dữ liệu, có nội dung như sau :
Trang 22Để giúp website có thể chạy được, chúng ta cần thay đổi thông tin về host (severname), tàikhoản sử dụng (username) , mật khẩu (password) và tên cơ sở dữ liệu (database ) phù hợp vớithông tin máy chủ.
17
3 Kết chương 1
Thông qua sự tìm hiểu về lý thuyết nền tảng hệ thống, ta áp dụng và chương 2 để
hoàn thành tốt phần phân tích và thiết kế trang website một cách tối ưu nhất
Trang 23Một công ty hay một thương hiệu muốn phát triển cần phải khẳng định được thươnghiệu của mình Cách đơn giản và đỡ tốn kém và thật sự hiệu quả đó là tạo cho công ty haythương hiệu mình một Website để tất cả mọi người có thể biết đến quý công ty Và trongthời buổi kinh tế thị trường với yêu cầu của những người sử dụng khá cao, có thể một sốnơi tại chỗ ở của bạn không thể đáp ứng được hết yêu cầu của khách hàng Bạn là mộtngười bận rộn, không có nhiều thời gian để lựa chọn sản phẩm cho phù hợp với sở thích vàtúi tiền của mình Việc đi đến một cửa hàng chiếm mất nhiều thời gian của bạn và bạnmong muốn có một dịch vụ đáp ứng được điều đó
Vậy tại sao chúng ta không thực hiện bán hàng ngay trên mạng Thật hiệu quả vì tất cảmọi người đều biết đến công ty, vừa có thể giới thiệu về công ty vừa thực hiện việc trao đổihàng hóa ngay trên mạng Quả là một ý tưởng tuyệt vời
Giả sử bạn cần mua một chiếc laptop hay điện thoại bạn đến cửa hàng để mua máy, khivào cửa hàng bạn sẽ chọn những sản phẩm mà mình thích để vào giỏ hàng Trong quá trìnhlựa chọn bạn có thể tìm hiểu chi tiết thông tin sản phẩm mà bạn thích Sau khi lựa chọnxong, bạn có thể đặt mua sản phẩm mà mình muốn
1.2 Bài toán
Banhangtructuyen.vn là một trang web nhỏ em đã thiết kế với mục đích là mua bán máytính và một số các linh kiện khác qua mạng để có thể giới thiệu đến mọi người các loại máytính, điện thoại cũng như một số các linh kiện, phụ kiện mà không cần phải đến tận nơi đểxem
➢ Lợi ích của người truy cập trang Website:
Mua hàng trên mạng nhanh chóng, tiện lợi
Tham khảo và so sánh giá của các mặt hang
Xem các thông tin về các loại sản phẩm
➢ Website gồm có những nội dung cơ bản sau:
Giới thiệu về các chủng loại sản phẩm (Áo nam và một số sản phẩm thêm… )
19 Giới thiệu về các loại sản phẩm mới (được cập nhật một cách thường xuyên) của các hãng sản xuất, các sản phẩm tương ứng của hãng đó và các phụ kiện liên quan
Trang 24Khách hàng có thể đọc một số tin tức mới cập nhật
Khách hàng có thể tìm kiếm sản phẩm theo giá cả hay theo tên của sản phẩm và có thể đặt mua hàng qua mạng
1.3 Hướng giải quyết bài toán
Dùng các trang HTML và CSS thông qua ngôn ngữ giao Script để thiết kế giao diệnWebsite Sử dụng Laravel kết hợp với PHP và xử lí các kết nối cơ sở dữ liệu được tổ chứcchủ yếu trên mô hình Client/Server Các hình thức gửi và nhận dữ liệu giữa website vàkhách hàng thông qua Modem, đường dây điện thoại công cộng trên nền Internet vàIntranet
Thêm, xoá, cập nhật ở giỏ hàng Gửi đơn hàng
Gửi ý kiến, câu hỏi
Đăng nhập Người quản lý Quản lý danh mục
Quản lý sản phẩm Quản lý khách hàng Quản lý đơn hàng Quản lý bình luận khách hàng Quản website
20 Xem báo cáo, thống kê
2 PHÂN TÍCH VÀ THIẾT KẾ
Trang 252.1 Mô hình use case tổng quát
Hình 2: Mô hình tổng quát
Website
2.2Mô hình của khách hàng
2.2.1Tác nhân khác hàng
21 Hình 3 : Use case khách hàng
Trang 26Hình 3 : Use case khách hàng quản lý giỏ hàng
Hình 4 : Khách hàng tìm kiếm
2.2.2 Tác nhân Administrator.
22 Hình 5 : Use case Administrator quản lý danh mục sản phẩm
Trang 27Hình 6 : Use case Administrator quản lý thương hiệu
Hình 7 : Use case Administrator quản lý sản phẩm
23
Trang 28nh 8: Biểu đồ Use Case cho Tác nhân Adminitrator quản lý khách hàng
Hình 8 : Use case Administrator quản lý hóa đơn
24
Trang 29Hình 10: Use case Administrator quản lý bình luận và ý kiến
2.3 Hoạt động
2.3.1 Tác nhân khác hàng
25 Hình 11: Activity khách hàng quản lý giỏ hàng
Trang 3026
Hình 12 : Activity khách hàng tìm kiếm sản phẩm
2.3.2 Tác nhân Administrator
27