Luận Văn Tốt Nghiệp phát triển hệ thống website thương mại điện tử bằng ngôn – Tài liệu text

Luận Văn Tốt Nghiệp phát triển hệ thống website thương mại điện tử bằng ngôn ngữ Laravel

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.42 MB, 100 trang )

Khoá luận tốt nghiệp

GVHD: ThS Ngô Đình Thưởng

MỤC LỤC
MỞ ĐẦU…………………………………………………………………………………………….. 1
1. Tính cấp thiết của đề tài:………………………………………………………………. 1
2. Mục tiêu nghiên cứu: …………………………………………………………………… 1
3. Đối tượng, phạm vi nghiên cứu: ……………………………………………………. 1
4. Phương pháp nghiên cứu: …………………………………………………………….. 1
5. Bố cục đề tài: ……………………………………………………………………………… 2
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT ……………………………………………………….. 3
1.1. GIỚI THIỆU FRAMEWORK LARAVEL: ……………………………………. 3
1.1.1. Khái niệm:…………………………………………………………………………….. 3
1.1.2. Lịch sử phát triển của Framework Laravel:……………………………….. 3
1.1.3. Ưu điểm của Laravel: …………………………………………………………….. 5
1.1.4. Các ví dụ cơ bản như : ……………………………………………………………. 6
1.2. CÀI ĐẶT: ………………………………………………………………………………….. 8
1.2.1. Yêu cầu hệ thống: ………………………………………………………………….. 8
1.2.2. Hướng dẫn cài đặt:…………………………………………………………………. 8
1.3. MÔ HÌNH MVC TRONG FRAMEWORK LARAVEL: ……………….. 12
1.3.1. Controller:…………………………………………………………………………… 13
1.3.2. View:………………………………………………………………………………….. 13
1.3.3. Model: ………………………………………………………………………………… 14
1.4. HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU: ……………………………………………… 15
1.5. HƯỚNG DẪN SỬ DỤNG LAVAREL FRAMEWORK ……………….. 17
1.5.1. Cách sử dụng Route:…………………………………………………………….. 17
1.5.2. Sử dụng View: …………………………………………………………………….. 23
1.5.3. Sử dụng Controller trong Laravel 5:……………………………………….. 33
1.3.4. Tạo bảng và khoá ngoại trong database Migration: ………………….. 39
CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG………………………… 47

2.1. MỤC TIÊU VÀ YÊU CẦU ĐẶT: ………………………………………………. 47
Sinh viên thực hiện: Nguyễn Linh – 12CNTT

i

Khoá luận tốt nghiệp

GVHD: ThS Ngô Đình Thưởng

2.1.1. Mục tiêu: …………………………………………………………………………….. 47
2.1.2. Yêu cầu hệ thống: ………………………………………………………………… 47
2.2. PHÂN TÍCH HỆ THỐNG:…………………………………………………………. 48
2.2.1. Yêu cầu đề tài: ……………………………………………………………………. 48
2.2.2. Hoạt động của hệ thống cửa hàng trên mạng: ………………………….. 48
2.2.3. Đặc tả quy trình nghiệp vụ:……………………………………………………. 50
2.3. XÂY DỰNG BIỂU ĐỒ USER CASE: ………………………………………… 53
2.3.1. Mô hình Use case tổng quát : ………………………………………………… 53
2.3.2. Phân rã biểu đồ User case và kịch bản: …………………………………… 54
2.4 Thiết kế cơ sở dữ liệu………………………………………………………………….. 66
2.4.1. Nhóm các bảng độc lập:………………………………………………………… 66
2.4.2. Nhóm các bảng có quan hệ:…………………………………………………… 72
CHƯƠNG 3: KẾT QUẢ ĐẠT ĐƯỢC ………………………………………………….. 78
3.1. GIAO DIỆN TRANG KHÁCH HÀNG: ………………………………………. 78
3.1.1. Trang chủ: …………………………………………………………………………… 78
3.1.2. Trang xem chi tiết sản phẩm:…………………………………………………. 79
3.1.3. Giao diện kết quả tìm kiếm:…………………………………………………… 80
3.1.4. Giao diện giỏ hàng:………………………………………………………………. 80
3.1.5. Giao diện thanh toán trực tiếp bằng ngân lượng: ……………………… 81
3.1.6. Giao diện thanh toán bằng hình thức COD: …………………………….. 81

3.1.7. Giao diện liên hệ:…………………………………………………………………. 82
3.1.8. Giao diện giới thiệu: …………………………………………………………….. 82
3.1.9. Giao diện tin tức: …………………………………………………………………. 83
3.2. GIAO DIỆN TRANG QUẢN TRỊ: ……………………………………………… 83
3.2.1. Giao diện đăng nhập: ……………………………………………………………. 83
3.2.2. Giao diện trang chủ quản trị: …………………………………………………. 84
3.2.3. Giao diện quản lý sản phẩm: …………………………………………………. 84
3.2.4. Giao diện quản lý danh mục sản phẩm:…………………………………… 87
Sinh viên thực hiện: Nguyễn Linh – 12CNTT

ii

Khoá luận tốt nghiệp

GVHD: ThS Ngô Đình Thưởng

3.2.5. Giao diện quản trị giỏ hàng: ………………………………………………….. 87
3.2.6. Giao diện chi tiết giỏ hàng:……………………………………………………. 88
3.2.7. Giao diện thống kê đơn hàng:………………………………………………… 88
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ……………………………………………… 89
DANH MỤC TÀI LIỆU THAM KHẢO……………………………………………….. 90

Sinh viên thực hiện: Nguyễn Linh – 12CNTT

iii

Khoá luận tốt nghiệp

GVHD: ThS Ngô Đình Thưởng

LỜI CẢM ƠN
Trước tiên, em thành thật xin tỏ lòng biết ơn sâu sắc của mình đến thây
Ngô Đình Thưởng đã nhiệt tình hướng dẫn, nhận xét và đóng góp nhiều ý kiến
quý báo cho em những lúc gặp khó khăn trong suốt quá trình thực hiện đề tài
này.
Em xin chân thành cảm ơn các thầy cô giáo đã tận tình dạy dỗ và truyền
đạt những kiến thức quý báu cho em trong suốt bốn năm học tại Khoa Tin
học, trường Đại học Sư phạm Đà Nẵng và tạo điều kiện cho em thực hiện và
hoàn thành đề tài tốt nghiệp.
Bên cạnh đó em luôn nhận được sự giúp đỡ nhiệt tình từ bạn bè và gia
đình, đã động viên góp ý và cung cấp tài liệu để đề tài hoàn thành đúng thời
gian.
Mặc dù hết sức cố gắng, song với điều kiện thời gian và khả năng còn
hạn chế nên đề tài không tránh khỏi những hạn chế và còn nhiều thiếu sót.
Em kính mong sự chỉ bảo, đóng góp ý kiến của thầy cô và các bạn để đề tài
của em được tốt hơn.
Cuối cùng, em xin chân thành cảm ơn các thầy cô trong hội đồng bảo vệ
khoá luận tốt nghiệp, đã dành thời gian quí báu của mình để nhận xét, đánh
giá và chấm đề tài.
Xin chân thành cảm ơn!
Đà Nẵng, tháng 05 năm 2016
Sinh viên thực hiện

Nguyễn Linh

Sinh viên thực hiện: Nguyễn Linh – 12CNTT

iv

Khoá luận tốt nghiệp

GVHD: ThS Ngô Đình Thưởng

LỜI CAM ĐOAN
Tôi xin cam đoan đây là đề tài nghiên cứu của riêng tôi dưới sự hướng
dẫn của thầy Ngô Đình Thưởng.
Tôi có tham khảo tài liệu trên mạng để thực hiện đề tài.
Đà Nẵng, tháng 5 năm 2016
Sinh viên thực hiện

Nguyễn Linh

Sinh viên thực hiện: Nguyễn Linh – 12CNTT

v

Khoá luận tốt nghiệp

GVHD: ThS Ngô Đình Thưởng

DANH MỤC TỪ VIẾT TẮT
STT

Từ viết tắt

Nghĩa

1

CSDL

Cơ sở dữ liệu

2

DB

Database

3

HTML

HyperText Markup Language

2

HQT CSDL

Hệ quản trị cơ sở dữ liệu

3

MVC

Model, View, Controler

4

OCD

Thanh toán bằng bưu điện

5

PK

Primary Key – Khoá chính của lớp

Sinh viên thực hiện: Nguyễn Linh – 12CNTT

vi

Khoá luận tốt nghiệp

GVHD: ThS Ngô Đình Thưởng

DANH MỤC BẢNG
Bảng 1.1: Các kiểu Index …………………………………………………………………….. 44
Bảng 2.1: Kịch bản User case thêm sản phẩm………………………………………… 56
Bảng 2.2: Kịch bản Use case sửa sản phẩm……………………………………………. 57
Bảng 2.3: Kịch bản Use case xoá sản phẩm …………………………………………… 58
Bảng 2.5: Kịch bản Use case thêm hàng vào giỏ hàng…………………………….. 60
Bảng 2.6: Kịch bản Use case xoá hàng trong giỏ hàng ……………………………. 61
Bảng 2.7: Kịch bản Use case gửi đơn hàng ……………………………………………. 62

Bảng 2.8: Kịch bản Use case thanh toán đơn hàng………………………………….. 65
Bảng 2.8: Phân tích lớp thiensu_db.news ………………………………………………. 67
Bảng 2.9: Phân tích lớp thiensu_db.settings …………………………………………… 68
Bảng 2.10: Phân tích lớp thiensu_db.contacts ………………………………………… 69
Bảng 2.11: Phân tích lớp thiensu_db. Banners ……………………………………….. 69
Bảng 2.12: Phân tích lớp thiensu_db. password_resets ……………………………. 70
Bảng 2.13: Phân tích lớp thiensu_db. Menus …………………………………………. 70
Bảng 2.14: Phân tích lớp thiensu_db. Migrations……………………………………. 71
Bảng 2.15: Phân tích lớp thiensu_db. Users ………………………………………….. 71
Bảng 2.16: Phân tích lớp thiensu_db. Pays……………………………………………. 72
Bảng 2.17: Phân tích lớp thiensu_db.cates …………………………………………….. 73
Bảng 2.18: Phân tích lớp thiensu_db.orders …………………………………………… 74
Bảng 2.19: Phân tích lớp thiensu_db.products ……………………………………….. 75
Bảng 2.20: Phân tích lớp thiensu_db.order_details ………………………………… 76
Bảng 2.21: Phân tích lớp thiensu_db.product_ images…………………………….. 77

Sinh viên thực hiện: Nguyễn Linh – 12CNTT

vii

Khoá luận tốt nghiệp

GVHD: ThS Ngô Đình Thưởng

DANH MỤC HÌNH ẢNH
Hình 1.1: Tỉ lệ người dùng Lavarel so với các framework khác năm 2013 ….. 3
Hình 1.2: Lịch sử phát triển của framework Lavarel…………………………………. 5
Hình 1.3: Tải bộ cài đặt laravel………………………………………………………………. 8
Hình 1.4: Đổi tên thư mục chứa laravel bước 1………………………………………… 9

Hình 1.5: Đổi tên thư mục chứa laravel bước 2………………………………………… 9
Hình 1.6: Cấu trúc thư mục laravel………………………………………………………. 10
Hình 1.7: Điều chỉnh URL cho Laravel…………………………………………………. 11
Hình 1.8: Chạy lệnh php artisan generate trên terminal …………………………… 11
Hình 1.9: Key trong file app.php được tự động điền ……………………………….. 11
Hình 1.10: Kết quả chạy Laravel lần đầu……………………………………………….. 12
Hình 1.11: Cấu trúc mô hình MVC……………………………………………………….. 13
Hình 1.12: Giao diện phpMyAdmin ……………………………………………………… 16
Hình 1.13: Mô hình hoạt động một ứng dụng web động………………………….. 16
Hình 2.1: Mô tả quá trình thêm sản phẩm vào giỏ hàng…………………………… 50
Hình 2. 2: Mô tả quá trình thêm sản phẩm vào giỏ hàng………………………….. 51
Hình 2.3: Mô tả quá trình thêm sản phẩm vào giỏ hàng…………………………… 52
Hình 2.4: Mô hình User Case tổng quát…………………………………………………. 53
Hình 2.5: Mô tả quá trình phân rã User Case cập nhật …………………………….. 54
Hình 2.6: Mô tả quá trình phân rã User Case cập nhật sản phẩm……………… 55
Hình 2.7: Mô tả quá trình phân rã User Case đặt hàng…………………………….. 59
Hình 2.8: Mô tả quá trình phân rã User Case đặt hàng…………………………….. 63
Hình 2.9: Sơ đồ các lớp trong cơ sở dữ liệu …………………………………………… 66
Hình 3.1: Giao diện trang chủ người dùng 1 …………………………………………. 78
Hình 3.2: Giao diện trang chủ người dùng 2 …………………………………………. 78
Hình 3.3: Giao diện xem chi tiết sản phẩm……………………………………………. 79
Hình 3.4: Giao diện kết quả tìm kiếm……………………………………………………. 80
Sinh viên thực hiện: Nguyễn Linh – 12CNTT

viii

Khoá luận tốt nghiệp

GVHD: ThS Ngô Đình Thưởng

Hình 3.5: Giao diện giỏ hàng ……………………………………………………………….. 80
Hình 3.6: Giao diện thanh toán COD không có tài khoản………………………… 81
Hình 3.7: Giao diện liên hệ …………………………………………………………………. 82
Hình 3.8: Giao diện giới thiệu………………………………………………………………. 82
Hình 3.9: Giao diện tin tức…………………………………………………………………… 83
Hình 3.10: Giao diện đăng nhập admin …………………………………………………. 83
Hình 3.11: Giao diện trang chủ admin…………………………………………………… 84
Hình 3.12: Giao diện quản lý sản phẩm…………………………………………………. 84
Hình 3.13: Giao diện thêm sản phẩm mới ……………………………………………… 85
Hình 3.14: Giao diện sửa sản phẩm ………………………………………………………. 86
Hình 3.15: Giao diện quản lý danh mục sản phẩm …………………………………. 87
Hình 3.16: Giao diện quản lý giỏ hàng …………………………………………………. 87
Hình 3.17: Giao diện chi tiết giỏ hàng …………………………………………………… 88
Hình 3.18: Giao diện thống kê đơn hàng ……………………………………………….. 88

Sinh viên thực hiện: Nguyễn Linh – 12CNTT

ix

Khoá luận tốt nghiệp

GVHD: ThS Ngô Đình Thưởng

MỞ ĐẦU
1. Tính cấp thiết của đề tài:
Trong thực tế hiện nay nhu cầu làm đẹp của con người ngày càng tăng,
nhưng lại không có thời gian để tới các cửa hàng mỹ phẩm để mua sắm những
loại mỹ phẩm cần dùng. Dựa vào sự phát triển như vũ bão của công nghệ

thông tin như hiện nay tôi đã nãy sinh ra ý tưởng xây dựng hệ thống bán mỹ
phẩm trực tuyến giúp cho khách hàng tiết kiệm thời gian và công sức nhưng
vẫn có được món hàng mình cần mua.
2. Mục tiêu nghiên cứu:
Với những ký do đặt ra như thế, việc nghiên cứu và xây dựng website
bán mỹ phẩm trực tuyến phải đảm bảo các tính năng cần thiết và cơ bản như
sau: Cung cấp đầy đủ thông tin và chính xác về các sản phẩm cho khách hàng.
Xây dựng giỏ hàng trực tuyến cho khách hàng, khách hàng có thể mua hàng
trực tuyến. Thông tin về khách hàng phải được bảo mật. Người quản trị
website có thể quản lý toàn bộ các hoạt động của hệ thống.
3. Đối tượng, phạm vi nghiên cứu:
Nghiên cứu và sử dụng ngôn ngữ HTML, CSS và Boostraps để xây dựng
giao diện website.
Sử dụng hệ quản trị cơ sở dữ liệu MYSQL để xây dựng và quản trị cơ sở
dữ liệu của website.
Sử dụng framework Laravel để kết nối cơ sở dữ liệu và truy xuất thành
file HTML ở giao diện cho người dùng sử dụng.
4. Phương pháp nghiên cứu:
Nghiên cứu lý thuyết về các vấn đề liên quan.
Xem các ví dụ liên quan tới lý thuyết sau đó thực hiện trở lại cho hiểu rõ
lý thuyết.
Vận dụng vào để hoàn thành dự án thực tế.
Sinh viên thực hiện: Nguyễn Linh – 12CNTT

1

Khoá luận tốt nghiệp

GVHD: ThS Ngô Đình Thưởng

5. Bố cục đề tài:
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT
Tìm hiểu framework Laravel để quản trị nội dung website là nội dung
chủ đạo trong quá trình xây dựng hệ thống. Nghiên cứu hệ quản trị cơ sở dữ
liệu MySQL để lưu trữ dữ liệu của hệ thống. Sử dụng Bootstrap để thiết kế
giao diện website.
CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
Phân tích các yêu cầu từ thực tế của người dùng để hình thành các chức
năng đắp ứng được các yêu cầu đó. Phân quyền cho hệ thống bao gồm: Khách
hàng và quản trị viên. Khách hàng có quyền truy cập vào hệ thống thực hiện
các thao tác mà hệ thống cho phép. Quản trị viên có quyền cao nhất quản lý
mọi hoạt động của hệ thống.
CHƯƠNG 3: KẾT QUẢ ĐẠT ĐƯỢC
Là kết quả từ việc kết hợp việc phân tích hệ thống với nghiên cứu lý
thuyết để hoàn thành website bán mỹ phẩm trực tuyến.

Sinh viên thực hiện: Nguyễn Linh – 12CNTT

2

Khoá luận tốt nghiệp

GVHD: ThS Ngô Đình Thưởng

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT
1.1. GIỚI THIỆU FRAMEWORK LARAVEL:
1.1.1. Khái niệm:
Laravel là một nền tảng ứng dụng web mã nguồn mở được viết bằng

ngôn ngữ PHP dựa theo mô hình MVC. Nó là framework khá mới mẻ, ra đời
vào tháng 04-2011 và cha đẻ của nó Taylor Otwell. Việc tiếp cận và sử dụng
Laravel cũng giống như các framework kháck không phải là vấn đề quá khó
khăn. Các nhà phát triển framework Laravel đã xây dựng hệ thống hướng dẫn
sử dụng khá hoàn chỉnh và đầy đủ. Nó giúp cho các lập trình viên tiết kiệm
thời gian, công sức và chi phí để xây dựng một website.

Hình 1.1: Tỉ lệ người dùng Lavarel so với các framework khác năm 2013
1.1.2. Lịch sử phát triển của Framework Laravel:
Sinh viên thực hiện: Nguyễn Linh – 12CNTT

3

Khoá luận tốt nghiệp

GVHD: ThS Ngô Đình Thưởng

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
khá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 framework đúng nghĩa.
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 kể 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ỏ.
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

Xem thêm  Top 5 App hạn chế sử dụng điện thoại, tập trung học

Xem thêm: Đào tạo Thạc sĩ theo định hướng ứng dụng: Học viên không phải làm luận văn

hệ thống quản trị cơ sở dữ liệu, chức năng ánh xạ cơ sở dữ liệu Migration, hỗ
trợ “bắt sự kiện” trong ứng 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.
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 khá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).

Sinh viên thực hiện: Nguyễn Linh – 12CNTT

4

Khoá luận tốt nghiệp

GVHD: ThS Ngô Đình Thưởng

Laravel 5 được phát hành trong tháng 2 năm 2015, như một kết quả thay
đổi đáng kể cho việc kết thúc vòng đời nâng cấp Laravel lên 4.3. Bên cạnh
một loạt tính năng mới và các cải tiến như hiện tại, Laravel 5 cũng giới thiệu
cấu trúc cây thư mục nội bộ cho phát triển ứng dụng mới. Những tính năng
mới của Laravel 5 bao gồm hộ trợ lập lịch định kỳ thực hiện nhiệm vụ thông
qua một gói tên là “Scheduler”, một lớp trừu tượng gọi là “Flysystem” cho

phép điều khiển việc lưu trữ từ xa đơn giản như lưu trữ trên máy local – dễ
thấy nhất là mặc định hỗ trợ dịch vụ Amazone S3, cải tiến quản lý assets
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”.
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.

Hình 1.2: Lịch sử phát triển của framework Lavarel
1.1.3. Ưu điểm của Laravel:
Được thiết kế theo mô hình Model-View-Controller: Mô hình MVC giúp
tách thành phần hiển thị giao diện (presentation) và xử lý (business logic) của
một phần mềm thành những thành phần độc lập, từ đó giúp cho việc thiết kế,
xử lý và bảo trì mã nguồn dễ dàng, đồng thời tăng khả năng mở rộng của phần
mềm. CodeIgniter vận dụng mô hình này trong thiết kế, giúp tách biệt các tập

Sinh viên thực hiện: Nguyễn Linh – 12CNTT

5

Khoá luận tốt nghiệp

GVHD: ThS Ngô Đình Thưởng

tin giao diện với các tập tin xử lý dữ liệu, nâng cao khả năng quản lý và dễ
bảo trì.
Hệ thống tài liệu (document) đã được làm lại một cách cẩn thận và rõ
ràng hơn: Mỗi trang tài liệu đã được dành vô số thời gian tỉ mỉ để chăm chút

cẩn thận. Điều này cũng giúp cho người sử dụng nhanh chóng nắm được cách
sử dụng Laravel, từ đó nhiều người sử dụng nó hơn. Hệ thống tài liệu lần này
đi kèm với khả năng tìm kiếm real-time và auto-complete.
Việc quản lý layout thật sự giản đơn. Dễ dàng tích hợp các thư viện của
Zend và các gói bundle (giống như moduel) vào project. Có rất nhiều gói
bundle được cộng đồng mạng build sẵn và chia sẻ trên Internet.
Laravel hỗ trợ nhiều cách viết để ngắn gọn nhất có thể và nhiều cách viết
khác nhau: Như Fluent Query Builder và Eloquent .
1.1.4. Các ví dụ cơ bản như :
– Tìm tài khoản theo Id:
$account = Account::find(1900); // tìm user có id là 1900.
– Tìm tài khoản theo email và password khi login:
$account=Account::where_email_password(‘bem2vnn@gmail.com
ail.com’,’19001830′)->first();
//

tìm

user

theo

trường

email

giá

trị

bem2vnn@gmail.comail.com, theo trường password có giá trị là
19001830.
– Tạo mới tài khoản:
$account = Account::create(array(
’email’ => ‘bem2vnn@gmail.com’,
‘password ‘ => ‘19001830’,
)
);
Sinh viên thực hiện: Nguyễn Linh – 12CNTT

6

Khoá luận tốt nghiệp

GVHD: ThS Ngô Đình Thưởng

– Hoặc có thể tạo mới tài khoản bằng cách sau:
$account = new Account;
$account ->email = ‘bem2vnn@gmail.com’;
$account ->password = ‘62888999’;
$account ->save();
– Chỉnh sửa tài khoản theo Id :
$account = Account::find(1);
$account ->email = ‘bem2vnn@gmail.com’;
$account ->password = ‘38681999’;

$account ->save();
– Xóa tài khoản theo Id:
account::find(1)->delete();
– Phân trang trong laravel cực kỳ đơn giản :
$per_page = 10;
$accounts = Account::paginate($per_page);
//nếu muốn sắp xếp thì thêm order_by vào như thế này
$accounts = Account::order_by(‘id’,’desc’)->paginate($per_page);
Laravel sử dụng Blade Template Engine: Rất nhẹ nhàng mà lại cực kỳ
hữu dụng. Bạn chỉ cần có 1 trang master template (template sườn chung) sẽ
được sử dụng và kế thừa từ các file template con.
Khi làm việc với Route trong Laravel, các bạn có thể Group các rule
(quy định) lại với nhau, các rule con nằm trong rule mẹ sẽ chịu ảnh hưởng.
Ví dụ:
Route::group( array( ‘before’=>’auth’), function(){
Route::get(‘admin/contacts’,’bem2vnn@gmail.com’);
Route::get(‘admin/deletessh’,’bem2vnn@gmail.com’);
Route::post(‘admin/deletessh’,’bem2vnn@gmail.com’);
Sinh viên thực hiện: Nguyễn Linh – 12CNTT

7

Khoá luận tốt nghiệp

GVHD: ThS Ngô Đình Thưởng

Route::get(‘admin/viewcontact/{id}’,’bem2vnn@gmail.com’);
}
Có thể thấy các rule con bên trong trước khi được thực thi sẽ phải chạy

qua rule mẹ để kiểm tra, đúng thì nó mới cho chạy.
1.2. CÀI ĐẶT:
1.2.1. Yêu cầu hệ thống:
Trước tiên khi cài đặt Laravel, cần phải đảm bảo rằng Apache, PHP,
MySQL đã được cài đặt. Framework Lavarel 5.1 có một vài yêu cầu về hệ
thống cụ thể như sau:
– PHP >= 5.5.9
– OpenSSL PHP Extension
– PDO PHP Extension
– Mbstring PHP Extension
– Tokenizer PHP Extension
1.2.2. Hướng dẫn cài đặt:
a. Download bộ nguồn Laravel:
Download

bộ

nguồn

Lavarel

về

tại

website

https://github.com/laravel/laravel/tree/v4.1.18.

Hình 1.3: Tải bộ cài đặt laravel

Sinh viên thực hiện: Nguyễn Linh – 12CNTT

8

Khoá luận tốt nghiệp

GVHD: ThS Ngô Đình Thưởng

Sau khi các bạn download về hãy bỏ nó vào thư mục gốc
c:\xampp\htdocs\. Các bạn có thể đổi tên tùy ý giống như khi cài đặt
CodeIgniter. Mình sẽ đổi tên từ laravel-4.1.8

Hình 1.4: Đổi tên thư mục chứa laravel bước 1
thành laravel-toidongian.com.

Hình 1.5: Đổi tên thư mục chứa laravel bước 2
b. Download composer.phar:
Khi download laravel-4.1.8 lúc nãy có để ý thấy điều gì không, điều đặc
biệt ở đây là file laravel-4.1.8 mà vừa download chỉ nặng có 39kb. Đó là vì
file đó chỉ chứa các folder cơ bản thôi, còn các class và các gói hỗ trợ thì phải
nhờ composer.phar để download và cài đặt. Truy cập vào địa chỉ
sau

https://getcomposer.org/download

và kéo xuống cuối cùng

chọn LATEST SNAPSHOT để download file composer.phar, sau đó hãy bỏ

vào trong thưc mục Laravel trước đó, folder mẫu được mô tả theo hình sau:

Sinh viên thực hiện: Nguyễn Linh – 12CNTT

9

Khoá luận tốt nghiệp

GVHD: ThS Ngô Đình Thưởng

Hình 1.6: Cấu trúc thư mục laravel
c. Thao tác cài đặt chính:
– Đối với máy tính chạy hệ điều hành window: Các bạn nhấn nút window
+ R và gõ CMD chạy nó dưới quyền administrator. Đối với các máy tính chạy
hệ điều hành Mac OS hoặc Linux chúng ta tìm và mở ứng dụng terminal.
Sau đó gõ lệnh cd c:\xampp\htdocs\laravel-toidongian.com dòng lệnh này dẫn
đến thư mục laravel-toidongian.com chúng ta đã tạo trước và nhấn Enter, tiếp
đến các bạn gõ lệnh sau : phpcomposer.phar install. Chờ cho nó download
hết các gói hỗ trợ cho đến khi hoàn thành.
– Để hệ thống chạy được cần tuỳ chỉnh lại một số điểm sau:
∑Vào

đường

dẫn

c:\xampp\htdocs\laravel-

toidongian.com\app\config\app.php tìm đến dòng 29 để chỉnh lại URl cho

Laravel.

URL

sau

của

mình

sau

khi

chỉnh

lại

sẽ

‘url’=>’http://localhost/laravel-toidongian.com’.

Sinh viên thực hiện: Nguyễn Linh – 12CNTT

10

Khoá luận tốt nghiệp

GVHD: ThS Ngô Đình Thưởng

Hình 1.7: Điều chỉnh URL cho Laravel
∑Kế tiếp bật ứng dụng terminal lên và gõ lệnh php artisan key:generate
mục đích của lệnh này là tăng tính bảo mật của những cookie và session cho
website.

Hình 1.8: Chạy lệnh php artisan generate trên terminal
∑Khi bạn gõ xong lệnh trên thì hãy đi đến dòng 68 của file app.php. Lúc
này thấy một điều là key tại dòng này đã được tự động điền.

Hình 1.9: Key trong file app.php được tự động điền
Sinh viên thực hiện: Nguyễn Linh – 12CNTT

11

Khoá luận tốt nghiệp

GVHD: ThS Ngô Đình Thưởng

– Kiểm tra quá trình cài đặt bằng cách chạy thử hệ thống website đã được
cài đặt:
Mở

trình

duyệt

lên

http://localhost/laravel-

toidongian.com/public nếu bạn nhận được hình ảnh như dưới đây thì đã cài
đặt thành công Laravel FrameWork.

Hình 1.10: Kết quả chạy Laravel lần đầu
1.3. MÔ HÌNH MVC TRONG FRAMEWORK LARAVEL:
Viết tắt của MVC là: Model, View, Controller.
Trong đó:
– Model: thành phần chứa dữ liệu.
– View: thành phần hiển thị giao diện trên màn hình.
– Controller: thành phần kiểm soát model và điều khiển view để hiển thị
cho người dùng.

Sinh viên thực hiện: Nguyễn Linh – 12CNTT

12

Khoá luận tốt nghiệp

GVHD: ThS Ngô Đình Thưởng

Hình 1.11: Cấu trúc mô hình MVC

1.3.1. Controller:
Khi được Router gọi, controller sẽ tiếp nhận lời gọi và xử lý.
Nó có thể trả lại trực tiếp dạng text (trả lại một chuỗi bất kỳ, mở rộng ra
thì có thể là xml, json, html, v.v…).
Nó có thể gọi View: Tạo và truyền hoặc không truyền tham số cho view,
thiết lập master layout.
Nó có thể gọi các hàm của Model để tương tác với cơ sở dữ liệu.
Nhiều trường hợp thì cách làm chung là controller sẽ gọi các hàm của
model, ghi vào biến global hay local tùy bạn, sau đó phân tích và gọi view
tương ứng, đáp lại người dùng.
1.3.2. View:
Để chỉ ra layout nào sẽ được dùng thì trong controller ta thêm vào
protected $layout = ‘layouts.master’;
Laravel

sử

dụng

Blade

Templating,

xem

link

http://laravel.com/docs/templates để xem cú pháp của nó.
Sinh viên thực hiện: Nguyễn Linh – 12CNTT

13

Khoá luận tốt nghiệp

GVHD: ThS Ngô Đình Thưởng

Trong view chúng ta có thể có sub view, dùng @include, chi tiết xem
link Blade Templating ở trên.
Ví dụ về cách sử dụng Model, View,Controler:
Vào app/controllers/HomeController.php, thay dòng
return “Xin chao $name”;
thành
return View::make(‘home.hello’, array(‘name’ => $name));
Tham số đầu tiên chính là nơi chứa tập tin cần render, ‘home.hello’ thì
tập tin hello.blade.php sẽ nằm tại thư mục app/views/home
Tham số thứ hai và các biến local cần truyền vào view.
Nội dung tập tin hello.blade.php như sau:
Xin chao {{{ $name }}}
Refresh trình duyệt, kết quả nhận được là “Xin chao abc.” với chữ abc
được in đậm.
1.3.3. Model:
Chạy trực tiếp các câu SQL
Class DB của Laravel hỗ trợ select, insert, update, delete
Ví dụ:
$results = DB::select(‘select * from users where id = ?’, array(1));
DB::insert(‘insert into users (id, name) values (?, ?)’, array(1, ‘Dayle’));
DB::update(‘update users set votes = 100 where name = ?’,
array(‘John’));
DB::delete(‘delete from users’);

Với các câu lệnh khác thì ta sẽ dử dụng hàm statement của class DB, vd:
DB::statement(‘drop table users’);
Để thực hiện dạng giao tác thì class DB cũng hỗ trợ:
DB::transaction(function(){
Sinh viên thực hiện: Nguyễn Linh – 12CNTT

14

Khoá luận tốt nghiệp

GVHD: ThS Ngô Đình Thưởng

DB::table(‘users’)->update(array(‘votes’ => 1));
DB::table(‘posts’)->delete();
});
1.4. HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU:
MySQL là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất thế
giới và được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng
dụng. Vì MySQL là cơ sở dữ liệu tốc độ cao, đơn giải, linh hoạt, ổn định và
dễ sử dụng, có tính khả chuyển, đặc biệt là miễn phí hoặc tốn rất ít phí, hoạt
động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất
mạnh. Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng
dụng có truy cập CSDL trên internet. MySQL miễn phí hoàn toàn cho nên
bạn có thể tải về MySQL từ trang chủ. Nó có nhiều phiên bản cho các hệ điều
hành

khác

nhau:

phiên

dòng Windows, Linux, Mac

bản
OS

Win32

cho

các

hệ

điều

hành

X, Unix, FreeBSD, NetBSD, Novell

NetWare, SGI Irix, Solaris, SunOS,…
MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị Cơ sở dữ
liệu quan hệ sử dụng Ngôn ngữ truy vấn có cấu trúc (SQL).
MySQL được sử dụng cho việc bổ trợ PHP, Perl, và nhiều ngôn ngữ
khác, nó làm nơi lưu trữ những thông tin trên các trang web viết bằng PHP
hay Perl.

Sinh viên thực hiện: Nguyễn Linh – 12CNTT

15

Khoá luận tốt nghiệp

GVHD: ThS Ngô Đình Thưởng

Hình 1.12: Giao diện phpMyAdmin
Việc kết hợp CSDL với ứng dụng web, dữ liệu xử lý do php sẽ tương tác
với CSDL như lấy dữ liệu, làm nội dung trang web từ trạng thái tĩnh sang
động. Sự linh hoạt này là cốt lõi của một ứng dụng web động (dynamic web
application).

Hình 1.13: Mô hình hoạt động một ứng dụng web động
Mô hình tương tác giữ client – server: php và mysql
PHP dùng để gửi yêu cầu cho server và php đóng vai trò làm thông dịch
và lấy kết quả có được trả lại cho Client ở dạng mã HTML cho người dùng

Xem thêm  Dùng điện thoại thông minh tìm xe buýt ở Hà Nội

Sinh viên thực hiện: Nguyễn Linh – 12CNTT

16

2.1. MỤC TIÊU VÀ YÊU CẦU ĐẶT : ………………………………………………. 47S inh viên triển khai : Nguyễn Linh – 12CNTTK hoá luận tốt nghiệpGVHD : ThS Ngô Đình Thưởng2. 1.1. Mục tiêu : …………………………………………………………………………….. 472.1.2. Yêu cầu mạng lưới hệ thống : ………………………………………………………………… 472.2. PHÂN TÍCH HỆ THỐNG : …………………………………………………………. 482.2.1. Yêu cầu đề tài : ……………………………………………………………………. 482.2.2. Hoạt động của mạng lưới hệ thống shop trên mạng : ………………………….. 482.2.3. Đặc tả tiến trình nhiệm vụ : ……………………………………………………. 502.3. XÂY DỰNG BIỂU ĐỒ USER CASE : ………………………………………… 532.3.1. Mô hình Use case tổng quát : ………………………………………………… 532.3.2. Phân rã biểu đồ User case và ngữ cảnh : …………………………………… 542.4 Thiết kế cơ sở tài liệu ………………………………………………………………….. 662.4.1. Nhóm những bảng độc lập : ………………………………………………………… 662.4.2. Nhóm những bảng có quan hệ : …………………………………………………… 72CH ƯƠNG 3 : KẾT QUẢ ĐẠT ĐƯỢC ………………………………………………….. 783.1. GIAO DIỆN TRANG KHÁCH HÀNG : ………………………………………. 783.1.1. Trang chủ : …………………………………………………………………………… 783.1.2. Trang xem cụ thể mẫu sản phẩm : …………………………………………………. 793.1.3. Giao diện tác dụng tìm kiếm : …………………………………………………… 803.1.4. Giao diện giỏ hàng : ………………………………………………………………. 803.1.5. Giao diện thanh toán giao dịch trực tiếp bằng ngân lượng : ……………………… 813.1.6. Giao diện thanh toán giao dịch bằng hình thức COD : …………………………….. 813.1.7. Giao diện liên hệ : …………………………………………………………………. 823.1.8. Giao diện ra mắt : …………………………………………………………….. 823.1.9. Giao diện tin tức : …………………………………………………………………. 833.2. GIAO DIỆN TRANG QUẢN TRỊ : ……………………………………………… 833.2.1. Giao diện đăng nhập : ……………………………………………………………. 833.2.2. Giao diện trang chủ quản trị : …………………………………………………. 843.2.3. Giao diện quản trị loại sản phẩm : …………………………………………………. 843.2.4. Giao diện quản trị hạng mục loại sản phẩm : …………………………………… 87S inh viên thực thi : Nguyễn Linh – 12CNTT iiKhoá luận tốt nghiệpGVHD : ThS Ngô Đình Thưởng3. 2.5. Giao diện quản trị giỏ hàng : ………………………………………………….. 873.2.6. Giao diện cụ thể giỏ hàng : ……………………………………………………. 883.2.7. Giao diện thống kê đơn hàng : ………………………………………………… 88K ẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ……………………………………………… 89DANH MỤC TÀI LIỆU THAM KHẢO ……………………………………………….. 90S inh viên triển khai : Nguyễn Linh – 12CNTT iiiKhoá luận tốt nghiệpGVHD : ThS Ngô Đình ThưởngLỜI CẢM ƠNTrước tiên, em thành thật xin tỏ lòng biết ơn thâm thúy của mình đến thâyNgô Đình Thưởng đã nhiệt tình hướng dẫn, nhận xét và góp phần nhiều ý kiếnquý báo cho em những lúc gặp khó khăn vất vả trong suốt quy trình thực thi đề tàinày. Em xin chân thành cảm ơn những thầy cô giáo đã tận tình dạy dỗ và truyềnđạt những kỹ năng và kiến thức quý báu cho em trong suốt bốn năm học tại Khoa Tinhọc, trường Đại học Sư phạm Thành Phố Đà Nẵng và tạo điều kiện kèm theo cho em triển khai vàhoàn thành đề tài tốt nghiệp. Bên cạnh đó em luôn nhận được sự giúp sức nhiệt tình từ bè bạn và giađình, đã động viên góp ý và cung ứng tài liệu để đề tài hoàn thành xong đúng thờigian. Mặc dù rất là nỗ lực, tuy nhiên với điều kiện kèm theo thời hạn và năng lực cònhạn chế nên đề tài không tránh khỏi những hạn chế và còn nhiều thiếu sót. Em kính mong sự chỉ bảo, góp phần quan điểm của thầy cô và những bạn để đề tàicủa em được tốt hơn. Cuối cùng, em xin chân thành cảm ơn những thầy cô trong hội đồng bảo vệkhoá luận tốt nghiệp, đã dành thời hạn quí báu của mình để nhận xét, đánhgiá và chấm đề tài. Xin chân thành cảm ơn ! TP. Đà Nẵng, tháng 05 năm 2016S inh viên thực hiệnNguyễn LinhSinh viên triển khai : Nguyễn Linh – 12CNTT ivKhoá luận tốt nghiệpGVHD : ThS Ngô Đình ThưởngLỜI CAM ĐOANTôi xin cam kết ràng buộc đây là đề tài nghiên cứu của riêng tôi dưới sự hướngdẫn của thầy Ngô Đình Thưởng. Tôi có tìm hiểu thêm tài liệu trên mạng để triển khai đề tài. Thành Phố Đà Nẵng, tháng 5 năm 2016S inh viên thực hiệnNguyễn LinhSinh viên thực thi : Nguyễn Linh – 12CNTTK hoá luận tốt nghiệpGVHD : ThS Ngô Đình ThưởngDANH MỤC TỪ VIẾT TẮTSTTTừ viết tắtNghĩaCSDLCơ sở dữ liệuDBDatabaseHTMLHyperText Markup LanguageHQT CSDLHệ quản trị cơ sở dữ liệuMVCModel, View, ControlerOCDThanh toán bằng bưu điệnPKPrimary Key – Khoá chính của lớpSinh viên triển khai : Nguyễn Linh – 12CNTT viKhoá luận tốt nghiệpGVHD : ThS Ngô Đình ThưởngDANH MỤC BẢNGBảng 1.1 : Các kiểu Index …………………………………………………………………….. 44B ảng 2.1 : Kịch bản User case thêm loại sản phẩm ………………………………………… 56B ảng 2.2 : Kịch bản Use case sửa loại sản phẩm ……………………………………………. 57B ảng 2.3 : Kịch bản Use case xoá mẫu sản phẩm …………………………………………… 58B ảng 2.5 : Kịch bản Use case thêm hàng vào giỏ hàng …………………………….. 60B ảng 2.6 : Kịch bản Use case xoá hàng trong giỏ hàng ……………………………. 61B ảng 2.7 : Kịch bản Use case gửi đơn hàng ……………………………………………. 62B ảng 2.8 : Kịch bản Use case thanh toán giao dịch đơn hàng ………………………………….. 65B ảng 2.8 : Phân tích lớp thiensu_db. news ………………………………………………. 67B ảng 2.9 : Phân tích lớp thiensu_db. settings …………………………………………… 68B ảng 2.10 : Phân tích lớp thiensu_db. contacts ………………………………………… 69B ảng 2.11 : Phân tích lớp thiensu_db. Banners ……………………………………….. 69B ảng 2.12 : Phân tích lớp thiensu_db. password_resets ……………………………. 70B ảng 2.13 : Phân tích lớp thiensu_db. Menus …………………………………………. 70B ảng 2.14 : Phân tích lớp thiensu_db. Migrations ……………………………………. 71B ảng 2.15 : Phân tích lớp thiensu_db. Users ………………………………………….. 71B ảng 2.16 : Phân tích lớp thiensu_db. Pays ……………………………………………. 72B ảng 2.17 : Phân tích lớp thiensu_db. cates …………………………………………….. 73B ảng 2.18 : Phân tích lớp thiensu_db. orders …………………………………………… 74B ảng 2.19 : Phân tích lớp thiensu_db. products ……………………………………….. 75B ảng 2.20 : Phân tích lớp thiensu_db. order_details ………………………………… 76B ảng 2.21 : Phân tích lớp thiensu_db. product_ images …………………………….. 77S inh viên triển khai : Nguyễn Linh – 12CNTT viiKhoá luận tốt nghiệpGVHD : ThS Ngô Đình ThưởngDANH MỤC HÌNH ẢNHHình 1.1 : Tỉ lệ người dùng Lavarel so với những framework khác năm 2013 ….. 3H ình 1.2 : Lịch sử tăng trưởng của framework Lavarel …………………………………. 5H ình 1.3 : Tải bộ setup laravel ………………………………………………………………. 8H ình 1.4 : Đổi tên thư mục chứa laravel bước 1 ………………………………………… 9H ình 1.5 : Đổi tên thư mục chứa laravel bước 2 ………………………………………… 9H ình 1.6 : Cấu trúc thư mục laravel ………………………………………………………. 10H ình 1.7 : Điều chỉnh URL cho Laravel …………………………………………………. 11H ình 1.8 : Chạy lệnh php artisan generate trên terminal …………………………… 11H ình 1.9 : Key trong file app.php được tự động hóa điền ……………………………….. 11H ình 1.10 : Kết quả chạy Laravel lần đầu ……………………………………………….. 12H ình 1.11 : Cấu trúc quy mô MVC. ………………………………………………………. 13H ình 1.12 : Giao diện phpMyAdmin ……………………………………………………… 16H ình 1.13 : Mô hình hoạt động giải trí một ứng dụng web động ………………………….. 16H ình 2.1 : Mô tả quy trình thêm mẫu sản phẩm vào giỏ hàng …………………………… 50H ình 2. 2 : Mô tả quy trình thêm loại sản phẩm vào giỏ hàng ………………………….. 51H ình 2.3 : Mô tả quy trình thêm mẫu sản phẩm vào giỏ hàng …………………………… 52H ình 2.4 : Mô hình User Case tổng quát …………………………………………………. 53H ình 2.5 : Mô tả quy trình phân rã User Case update …………………………….. 54H ình 2.6 : Mô tả quy trình phân rã User Case update loại sản phẩm ……………… 55H ình 2.7 : Mô tả quy trình phân rã User Case đặt hàng …………………………….. 59H ình 2.8 : Mô tả quy trình phân rã User Case đặt hàng …………………………….. 63H ình 2.9 : Sơ đồ những lớp trong cơ sở tài liệu …………………………………………… 66H ình 3.1 : Giao diện trang chủ người dùng 1 …………………………………………. 78H ình 3.2 : Giao diện trang chủ người dùng 2 …………………………………………. 78H ình 3.3 : Giao diện xem chi tiết cụ thể mẫu sản phẩm ……………………………………………. 79H ình 3.4 : Giao diện hiệu quả tìm kiếm ……………………………………………………. 80S inh viên thực thi : Nguyễn Linh – 12CNTT viiiKhoá luận tốt nghiệpGVHD : ThS Ngô Đình ThưởngHình 3.5 : Giao diện giỏ hàng ……………………………………………………………….. 80H ình 3.6 : Giao diện giao dịch thanh toán COD không có thông tin tài khoản ………………………… 81H ình 3.7 : Giao diện liên hệ …………………………………………………………………. 82H ình 3.8 : Giao diện ra mắt ………………………………………………………………. 82H ình 3.9 : Giao diện tin tức …………………………………………………………………… 83H ình 3.10 : Giao diện đăng nhập admin …………………………………………………. 83H ình 3.11 : Giao diện trang chủ admin …………………………………………………… 84H ình 3.12 : Giao diện quản trị mẫu sản phẩm …………………………………………………. 84H ình 3.13 : Giao diện thêm mẫu sản phẩm mới ……………………………………………… 85H ình 3.14 : Giao diện sửa loại sản phẩm ………………………………………………………. 86H ình 3.15 : Giao diện quản trị hạng mục loại sản phẩm …………………………………. 87H ình 3.16 : Giao diện quản trị giỏ hàng …………………………………………………. 87H ình 3.17 : Giao diện chi tiết cụ thể giỏ hàng …………………………………………………… 88H ình 3.18 : Giao diện thống kê đơn hàng ……………………………………………….. 88S inh viên thực thi : Nguyễn Linh – 12CNTT ixKhoá luận tốt nghiệpGVHD : ThS Ngô Đình ThưởngMỞ ĐẦU1. Tính cấp thiết của đề tài : Trong thực tiễn lúc bấy giờ nhu yếu làm đẹp của con người ngày càng tăng, nhưng lại không có thời hạn để tới những shop mỹ phẩm để shopping nhữngloại mỹ phẩm cần dùng. Dựa vào sự tăng trưởng như vũ bão của công nghệthông tin như lúc bấy giờ tôi đã nãy sinh ra ý tưởng xây dựng mạng lưới hệ thống bán mỹphẩm trực tuyến giúp cho người mua tiết kiệm chi phí thời hạn và công sức của con người nhưngvẫn có được món hàng mình cần mua. 2. Mục tiêu nghiên cứu : Với những ký do đặt ra như vậy, việc nghiên cứu và xây dựng websitebán mỹ phẩm trực tuyến phải bảo vệ những tính năng thiết yếu và cơ bản nhưsau : Cung cấp vừa đủ thông tin và đúng mực về những mẫu sản phẩm cho người mua. Xây dựng giỏ hàng trực tuyến cho người mua, người mua hoàn toàn có thể mua hàngtrực tuyến. tin tức về người mua phải được bảo mật thông tin. Người quản trịwebsite hoàn toàn có thể quản trị hàng loạt những hoạt động giải trí của mạng lưới hệ thống. 3. Đối tượng, khoanh vùng phạm vi nghiên cứu : Nghiên cứu và sử dụng ngôn từ HTML, CSS và Boostraps để xây dựnggiao diện website. Sử dụng hệ quản trị cơ sở tài liệu MYSQL để xây dựng và quản trị cơ sởdữ liệu của website. Sử dụng framework Laravel để liên kết cơ sở tài liệu và truy xuất thànhfile HTML ở giao diện cho người dùng sử dụng. 4. Phương pháp nghiên cứu : Nghiên cứu triết lý về những yếu tố tương quan. Xem những ví dụ tương quan tới triết lý sau đó thực thi trở lại cho hiểu rõlý thuyết. Vận dụng vào để triển khai xong dự án Bất Động Sản trong thực tiễn. Sinh viên triển khai : Nguyễn Linh – 12CNTTK hoá luận tốt nghiệpGVHD : ThS Ngô Đình Thưởng5. Bố cục đề tài : CHƯƠNG 1 : CƠ SỞ LÝ THUYẾTTìm hiểu framework Laravel để quản trị nội dung website là nội dungchủ đạo trong quy trình xây dựng mạng lưới hệ thống. Nghiên cứu hệ quản trị cơ sở dữliệu MySQL để tàng trữ tài liệu của mạng lưới hệ thống. Sử dụng Bootstrap để thiết kếgiao diện website. CHƯƠNG 2 : PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNGPhân tích những nhu yếu từ trong thực tiễn của người dùng để hình thành những chứcnăng đắp ứng được những nhu yếu đó. Phân quyền cho mạng lưới hệ thống gồm có : Kháchhàng và quản trị viên. Khách hàng có quyền truy vấn vào mạng lưới hệ thống thực hiệncác thao tác mà mạng lưới hệ thống được cho phép. Quản trị viên có quyền cao nhất quản lýmọi hoạt động giải trí của mạng lưới hệ thống. CHƯƠNG 3 : KẾT QUẢ ĐẠT ĐƯỢCLà hiệu quả từ việc phối hợp việc nghiên cứu và phân tích mạng lưới hệ thống với nghiên cứu lýthuyết để hoàn thành xong website bán mỹ phẩm trực tuyến. Sinh viên thực thi : Nguyễn Linh – 12CNTTK hoá luận tốt nghiệpGVHD : ThS Ngô Đình ThưởngCHƯƠNG 1 : CƠ SỞ LÝ THUYẾT1. 1. GIỚI THIỆU FRAMEWORK LARAVEL : 1.1.1. Khái niệm : Laravel là một nền tảng ứng dụng web mã nguồn mở được viết bằngngôn ngữ PHP dựa theo quy mô MVC. Nó là framework khá mới mẻ và lạ mắt, ra đờivào tháng 04-2011 và cha đẻ của nó Taylor Otwell. Việc tiếp cận và sử dụngLaravel cũng giống như những framework kháck không phải là yếu tố quá khókhăn. Các nhà tăng trưởng framework Laravel đã xây dựng mạng lưới hệ thống hướng dẫnsử dụng khá hoàn hảo và không thiếu. Nó giúp cho những lập trình viên tiết kiệmthời gian, công sức của con người và ngân sách để xây dựng một website. Hình 1.1 : Tỉ lệ người dùng Lavarel so với những framework khác năm 20131.1.2. Lịch sử tăng trưởng của Framework Laravel : Sinh viên triển khai : Nguyễn Linh – 12CNTTK hoá luận tốt nghiệpGVHD : ThS Ngô Đình ThưởngBản Laravel beta tiên phong đượ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 gồm có những tính năngnhư xác nhận, bản địa hóa, Model, view, session, định tuyến và những cơ cấukhác, nhưng vẫn còn thiếu controller, điều này làm nó chưa thật sự là mộtMVC framework đúng nghĩa. Laravel 2 được phát hành vào tháng 9 năm 2011, mang đến nhiều càitiến từ tác giả và hội đồng. Tính năng đáng kể gồm có tương hỗ controller, điều này thực sự biến Laravel 2 thành một MVC framework hoàn hảo, hỗtrợ Inversion of Control ( IoC ), mạng lưới hệ thống template Blade. Bên cạnh đó, có mộtnhược điểm là tương hỗ cho những gói của nhà tăng trưởng bên thứ 3 bị gỡ bỏ. Laravel 3 được phát hành vào tháng 2 năm 2012, với một tấn tính năngmới gồm có giao diện dòng lệnh ( CLI ) tên “ Artisan ”, tương hỗ nhiều hơn chohệ thống quản trị cơ sở tài liệu, công dụng ánh xạ cơ sở tài liệu Migration, hỗtrợ “ bắt sự kiện ” trong ứng dụng, và mạng lưới hệ thống quản trị gói gọi là “ Bundles ”. Lượng người dùng và sự thông dụng tăng trưởng mạnh kể từ phiên bản Laravel3. 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, chuyển dời và tái cấutrúc những gói tương hỗ vào một tập được phân phối trải qua Composer, mộtchương trình quản trị gói thư viện phụ thuộc vào độc lập của PHP. Bố trí mới nhưvậy giúp năng lực lan rộng ra của Laravel 4 tốt hơn nhiều so với những phiên bảntrướ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ângcấp nhỏ. Các tính năng khác trong Laravel 4 gồm có tạo và thêm dữ liệumẫu ( database seeding ), tương hỗ hàng đợi, những kiểu gởi mail, và tương hỗ “ xóamềm ” ( soft-delete : record bị lọc khỏi những truy vấn từ Eloquent mà khôngthực sự xóa hẳn khỏi DB ). Sinh viên triển khai : Nguyễn Linh – 12CNTTK hoá luận tốt nghiệpGVHD : ThS Ngô Đình ThưởngLaravel 5 được phát hành trong tháng 2 năm năm ngoái, như một tác dụng thayđổi đáng kể cho việc kết thúc vòng đời tăng cấp Laravel lên 4.3. Bên cạnhmột loạt tính năng mới và những nâng cấp cải tiến như hiện tại, Laravel 5 cũng giới thiệucấu trúc cây thư mục nội bộ cho tăng trưởng ứng dụng mới. Những tính năngmới của Laravel 5 gồm có hộ trợ lập lịch định kỳ triển khai trách nhiệm thôngqua một gói tên là “ Scheduler ”, một lớp trừu tượng gọi là “ Flysystem ” chophép tinh chỉnh và điều khiển việc tàng trữ từ xa đơn thuần như tàng trữ trên máy local – dễthấy nhất là mặc định tương hỗ dịch vụ Amazone S3, nâng cấp cải tiến quản trị assetsthông qua “ Elixir ”, cũng như đơn giản hóa quản trị xác nhận với những dịch vụbên ngoài bằng gói “ Socialite ”. Laravel 5.1 phát hành vào tháng 6 năm năm ngoái, là bản phát hành đầu tiênnhận được tương hỗ dài hạng ( LTS ) với một kết hoạch fix bug lên tới 2 năm vàohỗ trợ vá lỗi bảo mật thông tin lên tới 3 năm. Các bản phát hành LTS của Laravel đượclên kế hoạch theo mỗi 2 năm. Hình 1.2 : Lịch sử tăng trưởng của framework Lavarel1. 1.3. Ưu điểm của Laravel : Được phong cách thiết kế theo quy mô Model-View-Controller : Mô hình MVC giúptách thành phần hiển thị giao diện ( presentation ) và giải quyết và xử lý ( business logic ) củamột ứng dụng thành những thành phần độc lập, từ đó giúp cho việc phong cách thiết kế, giải quyết và xử lý và bảo dưỡng mã nguồn thuận tiện, đồng thời tăng năng lực lan rộng ra của phầnmềm. CodeIgniter vận dụng quy mô này trong phong cách thiết kế, giúp tách biệt những tậpSinh viên triển khai : Nguyễn Linh – 12CNTTK hoá luận tốt nghiệpGVHD : ThS Ngô Đình Thưởngtin giao diện với những tập tin giải quyết và xử lý tài liệu, nâng cao năng lực quản trị và dễbảo trì. Hệ thống tài liệu ( document ) đã được làm lại một cách cẩn trọng và rõràng hơn : Mỗi trang tài liệu đã được dành vô số thời hạn tỉ mỉ để chăm chútcẩn thận. Điều này cũng giúp cho người sử dụng nhanh gọn nắm được cáchsử dụng Laravel, từ đó nhiều người sử dụng nó hơn. Hệ thống tài liệu lần nàyđi kèm với năng lực tìm kiếm real-time và auto-complete. Việc quản trị layout thật sự giản đơn. Dễ dàng tích hợp những thư viện củaZend và những gói bundle ( giống như moduel ) vào project. Có rất nhiều góibundle được hội đồng mạng build sẵn và san sẻ trên Internet. Laravel tương hỗ nhiều cách viết để ngắn gọn nhất hoàn toàn có thể và nhiều cách viếtkhác nhau : Như Fluent Query Builder và Eloquent. 1.1.4. Các ví dụ cơ bản như : – Tìm thông tin tài khoản theo Id : USD account = Account :: find ( 1900 ) ; / / tìm user có id là 1900. – Tìm thông tin tài khoản theo email và password khi login : USD account = Account :: where_email_password ( ‘ bem2vnn@gmail.comail.com ‘, ‘ 19001830 ‘ ) -> first ( ) ; / / tìmusertheotrườngemailcógiátrịlàmatbao bem2vnn@gmail.com, theo trường password có giá trị là19001830. – Tạo mới thông tin tài khoản : USD account = Account :: create ( array ( ‘ email ‘ => ‘ bem2vnn@gmail.com ‘, ‘ password ‘ => ‘ 19001830 ‘, ) ; Sinh viên triển khai : Nguyễn Linh – 12CNTTK hoá luận tốt nghiệpGVHD : ThS Ngô Đình Thưởng – Hoặc hoàn toàn có thể tạo mới thông tin tài khoản bằng cách sau : USD account = new Account ; USD account -> email = ‘ bem2vnn@gmail.com ‘ ; USD account -> password = ‘ 62888999 ‘ ; USD account -> save ( ) ; – Chỉnh sửa thông tin tài khoản theo Id : USD account = Account :: find ( 1 ) ; USD account -> email = ‘ bem2vnn@gmail.com ‘ ; USD account -> password = ‘ 38681999 ‘ ; USD account -> save ( ) ; – Xóa thông tin tài khoản theo Id : account :: find ( 1 ) -> delete ( ) ; – Phân trang trong laravel cực kỳ đơn thuần : USD per_page = 10 ; USD accounts = Account :: paginate ( USD per_page ) ; / / nếu muốn sắp xếp thì thêm order_by vào như thế này USD accounts = Account :: order_by ( ‘ id ‘, ‘ desc ‘ ) -> paginate ( USD per_page ) ; Laravel sử dụng Blade Template Engine : Rất nhẹ nhàng mà lại cực kỳhữu dụng. Bạn chỉ cần có 1 trang master template ( template sườn chung ) sẽđược sử dụng và thừa kế từ những file template con. Khi thao tác với Route trong Laravel, những bạn hoàn toàn có thể Group những rule ( lao lý ) lại với nhau, những rule con nằm trong rule mẹ sẽ chịu tác động ảnh hưởng. Ví dụ : Route :: group ( array ( ‘ before ’ => ’ auth ’ ), function ( ) { Route :: get ( ‘ admin / contacts ’, ’ AdminController @ contacts ’ ) ; Route :: get ( ‘ admin / deletessh ’, ’ AdminController @ deletessh ’ ) ; Route :: post ( ‘ admin / deletessh ’, ’ AdminController @ dodel ’ ) ; Sinh viên thực thi : Nguyễn Linh – 12CNTTK hoá luận tốt nghiệpGVHD : ThS Ngô Đình ThưởngRoute :: get ( ‘ admin / viewcontact / { id } ’, ’ AdminController @ viewcontact ’ ) ; Có thể thấy những rule con bên trong trước khi được thực thi sẽ phải chạyqua rule mẹ để kiểm tra, đúng thì nó mới cho chạy. 1.2. CÀI ĐẶT : 1.2.1. Yêu cầu mạng lưới hệ thống : Trước tiên khi setup Laravel, cần phải bảo vệ rằng Apache, PHP, MySQL đã được thiết lập. Framework Lavarel 5.1 có một vài nhu yếu về hệthống đơn cử như sau : – PHP > = 5.5.9 – OpenSSL PHP Extension – PDO PHP Extension – Mbstring PHP Extension – Tokenizer PHP Extension1. 2.2. Hướng dẫn thiết lập : a. Download bộ nguồn Laravel : DownloadbộnguồnLavarelvềtạiwebsitehttps : / / github.com/laravel/laravel/tree/v4.1.18.Hình 1.3 : Tải bộ setup laravelSinh viên thực thi : Nguyễn Linh – 12CNTTK hoá luận tốt nghiệpGVHD : ThS Ngô Đình ThưởngSau khi những bạn tải về về hãy bỏ nó vào thư mục gốcc : \ xampp \ htdocs \. Các bạn hoàn toàn có thể đổi tên tùy ý giống như khi cài đặtCodeIgniter. Mình sẽ đổi tên từ laravel-4. 1.8 Hình 1.4 : Đổi tên thư mục chứa laravel bước 1 thành laravel-toidongian.com. Hình 1.5 : Đổi tên thư mục chứa laravel bước 2 b. Download composer.phar : Khi tải về laravel-4. 1.8 lúc nãy có chú ý thấy điều gì không, điều đặcbiệt ở đây là file laravel-4. 1.8 mà vừa tải về chỉ nặng có 39 kb. Đó là vìfile đó chỉ chứa những thư mục cơ bản thôi, còn những class và những gói tương hỗ thì phảinhờ composer.phar để tải về và setup. Truy cập vào địa chỉsauhttps : / / getcomposer.org/downloadvà kéo xuống cuối cùngchọn LATEST SNAPSHOT để tải về file composer.phar, sau đó hãy bỏvào trong thưc mục Laravel trước đó, thư mục mẫu được miêu tả theo hình sau : Sinh viên triển khai : Nguyễn Linh – 12CNTTK hoá luận tốt nghiệpGVHD : ThS Ngô Đình ThưởngHình 1.6 : Cấu trúc thư mục laravelc. Thao tác setup chính : – Đối với máy tính chạy hệ quản lý và điều hành window : Các bạn nhấn nút window + R và gõ CMD chạy nó dưới quyền administrator. Đối với những máy tính chạyhệ quản lý và điều hành Mac OS hoặc Linux tất cả chúng ta tìm và mở ứng dụng terminal. Sau đó gõ lệnh cd c : \ xampp \ htdocs \ laravel-toidongian.com dòng lệnh này dẫnđến thư mục laravel-toidongian.com tất cả chúng ta đã tạo trước và nhấn Enter, tiếpđến những bạn gõ lệnh sau : phpcomposer.phar install. Chờ cho nó downloadhết những gói tương hỗ cho đến khi triển khai xong. – Để mạng lưới hệ thống chạy được cần tuỳ chỉnh lại 1 số ít điểm sau : ∑ Vàođườngdẫnc : \ xampp \ htdocs \ laravel-toidongian.com \ app \ config \ app.php tìm đến dòng 29 để chỉnh lại URl choLaravel. URLsaucủamìnhsaukhichỉnhlạisẽlà ‘ url ’ => ’ http://localhost/laravel-toidongian.com’.Sinh viên thực thi : Nguyễn Linh – 12CNTT10 Khoá luận tốt nghiệpGVHD : ThS Ngô Đình ThưởngHình 1.7 : Điều chỉnh URL cho Laravel ∑ Kế tiếp bật ứng dụng terminal lên và gõ lệnh php artisan key : generatemục đích của lệnh này là tăng tính bảo mật thông tin của những cookie và session chowebsite. Hình 1.8 : Chạy lệnh php artisan generate trên terminal ∑ Khi bạn gõ xong lệnh trên thì hãy đi đến dòng 68 của file app.php. Lúcnày thấy một điều là key tại dòng này đã được tự động hóa điền. Hình 1.9 : Key trong file app.php được tự động hóa điềnSinh viên thực thi : Nguyễn Linh – 12CNTT11 Khoá luận tốt nghiệpGVHD : ThS Ngô Đình Thưởng – Kiểm tra quy trình thiết lập bằng cách chạy thử mạng lưới hệ thống website đã đượccài đặt : Mởtrìnhduyệtlênvàgõhttp : / / localhost / laravel-toidongian.com/public nếu bạn nhận được hình ảnh như dưới đây thì đã càiđặt thành công xuất sắc Laravel FrameWork. Hình 1.10 : Kết quả chạy Laravel lần đầu1. 3. MÔ HÌNH MVC TRONG FRAMEWORK LARAVEL : Viết tắt của MVC là : Model, View, Controller. Trong đó : – Model : thành phần chứa tài liệu. – View : thành phần hiển thị giao diện trên màn hình hiển thị. – Controller : thành phần trấn áp Model và điều khiển và tinh chỉnh view để hiển thịcho người dùng. Sinh viên thực thi : Nguyễn Linh – 12CNTT12 Khoá luận tốt nghiệpGVHD : ThS Ngô Đình ThưởngHình 1.11 : Cấu trúc quy mô MVC1. 3.1. Controller : Khi được Router gọi, controller sẽ tiếp nhận lời gọi và giải quyết và xử lý. Nó hoàn toàn có thể trả lại trực tiếp dạng text ( trả lại một chuỗi bất kể, lan rộng ra rathì hoàn toàn có thể là xml, json, html, v.v… ). Nó hoàn toàn có thể gọi View : Tạo và truyền hoặc không truyền tham số cho view, thiết lập master layout. Nó hoàn toàn có thể gọi những hàm của Model để tương tác với cơ sở tài liệu. Nhiều trường hợp thì cách làm chung là controller sẽ gọi những hàm củamodel, ghi vào biến global hay local tùy bạn, sau đó nghiên cứu và phân tích và gọi viewtương ứng, đáp lại người dùng. 1.3.2. View : Để chỉ ra layout nào sẽ được dùng thì trong controller ta thêm vàoprotected USD layout = ‘ layouts.master ‘ ; LaravelsửdụngBladeTemplating, xemlinkhttp : / / laravel.com/docs/templates để xem cú pháp của nó. Sinh viên thực thi : Nguyễn Linh – 12CNTT13 Khoá luận tốt nghiệpGVHD : ThS Ngô Đình ThưởngTrong view tất cả chúng ta hoàn toàn có thể có sub view, dùng @ include, cụ thể xemlink Blade Templating ở trên. Ví dụ về cách sử dụng Model, View, Controler : Vào app / controllers / HomeController. php, thay dòngreturn ” Xin chao USD name ” ; thànhreturn View :: make ( ‘ home.hello ‘, array ( ‘ name ‘ => USD name ) ) ; Tham số tiên phong chính là nơi chứa tập tin cần render, ‘ home.hello ’ thìtập tin hello.blade.php sẽ nằm tại thư mục app / views / homeTham số thứ hai và những biến local cần truyền vào view. Nội dung tập tin hello.blade.php như sau : Xin chaoRefresh trình duyệt, hiệu quả nhận được là “ Xin chao abc. ” với chữ abcđược in đậm. 1.3.3. Model : Chạy trực tiếp những câu SQLClass DB của Laravel tương hỗ select, insert, update, deleteVí dụ : USD results = DB :: select ( ‘ select * from users where id = ? ‘, array ( 1 ) ) ; DB :: insert ( ‘ insert into users ( id, name ) values ( ?, ? ) ‘, array ( 1, ‘ Dayle ‘ ) ) ; DB :: update ( ‘ update users set votes = 100 where name = ? ‘, array ( ‘ John ‘ ) ) ; DB :: delete ( ‘ delete from users ‘ ) ; Với những câu lệnh khác thì ta sẽ dử dụng hàm statement của class DB, vd : DB :: statement ( ‘ drop table users ‘ ) ; Để triển khai dạng giao tác thì class DB cũng tương hỗ : DB :: transaction ( function ( ) { Sinh viên thực thi : Nguyễn Linh – 12CNTT14 Khoá luận tốt nghiệpGVHD : ThS Ngô Đình ThưởngDB :: table ( ‘ users ‘ ) -> update ( array ( ‘ votes ‘ => 1 ) ) ; DB :: table ( ‘ posts ‘ ) -> delete ( ) ; } ) ; 1.4. HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU : MySQL là hệ quản trị cơ sở tài liệu tự do nguồn mở phổ cập nhất thếgiới và được những nhà tăng trưởng rất ưu thích trong quy trình tăng trưởng ứngdụng. Vì MySQL là cơ sở tài liệu vận tốc cao, đơn giải, linh động, không thay đổi vàdễ sử dụng, có tính khả chuyển, đặc biệt quan trọng là không lấy phí hoặc tốn rất ít phí, hoạtđộng trên nhiều hệ điều hành cung cấp một mạng lưới hệ thống lớn những hàm tiện ích rấtmạnh. Với vận tốc và tính bảo mật thông tin cao, MySQL rất thích hợp cho những ứngdụng có truy vấn CSDL trên internet. MySQL không lấy phí trọn vẹn cho nênbạn hoàn toàn có thể tải về MySQL từ trang chủ. Nó có nhiều phiên bản cho những hệ điềuhànhkhácnhau : phiêndòng Windows, Linux, MacbảnOSWin32chocáchệđiềuhànhX, Unix, FreeBSD, NetBSD, NovellNetWare, SGI Irix, Solaris, SunOS, … MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị Cơ sở dữliệu quan hệ sử dụng Ngôn ngữ truy vấn có cấu trúc ( SQL ). MySQL được sử dụng cho việc hỗ trợ PHP, Perl, và nhiều ngôn ngữkhác, nó làm nơi tàng trữ những thông tin trên những website viết bằng PHPhay Perl. Sinh viên triển khai : Nguyễn Linh – 12CNTT15 Khoá luận tốt nghiệpGVHD : ThS Ngô Đình ThưởngHình 1.12 : Giao diện phpMyAdminViệc tích hợp CSDL với ứng dụng web, tài liệu xử lý do php sẽ tương tácvới CSDL như lấy tài liệu, làm nội dung website từ trạng thái tĩnh sangđộng. Sự linh động này là cốt lõi của một ứng dụng web động ( dynamic webapplication ). Hình 1.13 : Mô hình hoạt động giải trí một ứng dụng web độngMô hình tương tác giữ client – server : php và mysqlPHP dùng để gửi nhu yếu cho server và php đóng vai trò làm thông dịchvà lấy tác dụng có được trả lại cho Client ở dạng mã HTML cho người dùngSinh viên triển khai : Nguyễn Linh – 12CNTT16

Xem thêm  Phần mềm ký offline file XML mới nhất của Tổng Cục Thuế

Source: https://bem2.vn
Category: Ứng dụng hay

Rate this post

Bài viết liên quan

Để lại ý kiến của bạn:

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *