Tải bản đầy đủ (.doc) (168 trang)

Thiết kế và lập trình website

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 (5.02 MB, 168 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÀ RỊA - VŨNG TÀU
KHOA CÔNG NGHỆ KỸ THUẬT - NÔNG NGHIỆP CÔNG NGHỆ CAO


ĐỒ ÁN TỐT NGHIỆP
ĐỀ TÀI
THIẾT KẾ VÀ LẬP TRÌNH WEBSITE

Giảng viên hướng dẫn

: ThS. Nguyễn Lan Hương

Sinh viên thực hiện

: Phan Tiến Đạt

Trình độ đào tạo

: Đại Học Chính Quy

Ngành đào tạo

: Công Nghệ Thông Tin

Chuyên Ngành

: Máy Tính

MSSV


: 16031147

Lớp

: DH16MT

Niên khóa

: 2016 - 2020

VŨNG TÀU, NĂM 2020


ĐẠI HỌC BÀ RỊA – VŨNG TÀU
KHOA KỸ THUẬT CN-NNCN CAO

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc

PHIẾU GIAO ĐỀ TÀI ĐỒ ÁN/ KHÓA LUẬN TỐT NGHIỆP
Họ tên sinh viên: Phan Tiến Đạt
Lớp: DH16MT

Mã SV: 16031147

Ngành: Công Nghệ Thông Tin

Khóa: 16

Tên đề tài: Thiết kế và lập trình Website

Mục tiêu đề tài:
Thiết kế và lập trình website giới thiệu, quảng bá về công ty (công ty lấy tên
Viko), đưa tới mọi người hình ảnh về công ty cùng những thông tin sản phẩm,
dự án của công ty đó. Đồng thời bên phía công ty cũng được cung cấp những
chức năng để quản trị website một cách tốt nhất.
Kết quả dự kiến:
Sản phẩm website có giao diện đẹp mắt, bố cục đơn giản, tích hợp nhiều chức
năng để người dùng dễ dàng tra cứu, tìm hiểu các thông tin về công ty. Qua đó
hình ảnh công ty sẽ được quảng bá một cách tốt nhất đến mọi người.
Thời gian thực hiện: Bắt đầu từ 02/03/2020 đến 10/05/2020.
Vũng Tàu, ngày….. tháng…..năm…
TRƯỞNG KHOA CNTT

GIẢNG VIÊN HƯỚNG DẪN

(Ký và ghi rõ họ tên)

(Ký và ghi rõ họ tên)


NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................

.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................

Ngày.........Tháng..........Năm.........
Giáo Viên Hướng Dẫn
(Ký, ghi rõ họ và tên)


NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................

.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................

Ngày.........Tháng..........Năm.........
Giáo Viên Phản Biện
(Ký, ghi rõ họ và tên)


LỜI CAM ĐOAN
Đồ án này là công trình nghiên cứu và xây dựng của cá nhân tôi, được thực
hiện dưới sự hướng dẫn khoa học của Ths. Nguyễn Lan Hương. Các số liệu,
những kết luận nghiên cứu được trình bày trong đồ án này là do tôi tự tìm
hiểu và hoàn toàn trung thực.
Tôi xin hoàn toàn chịu trách nhiệm về lời cam đoan này.

Vũng Tàu, tháng 4 năm 2020
Sinh Viên Thực Hiện
Phan Tiến Đạt



LỜI CẢM ƠN
Tôi xin chân thành cảm ơn khoa Công nghệ thông tin, trường
Đại học Bà Rịa – Vũng Tàu đã tạo điều kiện thuận lợi cho tôi thực
hiện đề tài này.
Tôi cũng xin được gửi lời cảm ơn chân thành nhất đến Ths.
Nguyễn Lan Hương, người đã tận tình chỉ bảo, định hướng đi và
hướng dẫn tôi thực hiện đề tài này.
Bên cạnh đó, tôi xin gửi lời cảm ơn đến các thầy cô, những
người đã giảng dạy, tạo điều kiện cho tôi tích lũy được những kiến
thức quý báu trong những năm học qua.
Dù đã cố gắng hoàn thành đề tài Website giới thiệu công ty
Viko, nhưng do thời gian hạn hẹp và khả năng còn hạn chế nên chắc
chắn sẽ có những thiếu sót không tránh khỏi. Tôi mong nhận được sự
thông cảm và tận tình chỉ bảo của các thầy cô và góp ý từ các bạn.
Vũng Tàu, tháng 4 năm 2020
Sinh viên thực hiện
Phan Tiến Đạt


MỤC LỤC
DANH MỤC CÁC BẢNG....................................................................................... 1
DANH MỤC CÁC HÌNH ẢNH.............................................................................. 2
LỜI MỞ ĐẦU.......................................................................................................... 5
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT VÀ KHẢO SÁT........................................... 7
1.1 HTML,CSS và JavaScript............................................................................ 7
1.1.1 HTML là gì?............................................................................................. 7
1.1.2 CSS là gì?................................................................................................. 7
1.1.3 JavaScript là gì?........................................................................................ 8

1.2 Bootstrap........................................................................................................ 8
1.2.1 Bootstrap là gì?......................................................................................... 8
1.2.2 Tại sao nên dùng Bootstrap?..................................................................... 9
1.3 JQuery............................................................................................................ 9
1.3.1 JQuery là gì?............................................................................................. 9
1.3.2 Tại sao nên dùng jQuery?......................................................................... 9
1.4 Ajax............................................................................................................... 10
1.4 Ajax là gì?................................................................................................. 10
1.4.2 Tại sao nên dùng Ajax?.......................................................................... 11
1.5 Lararel.......................................................................................................... 11
1.5.1 Laravel là gì?.......................................................................................... 11
1.5.2 Tại sao nên dùng Laravel?...................................................................... 13
1.6 PHP............................................................................................................... 15
1.6.1 PHP là gì?............................................................................................... 15
1.6.2 Tại sao nên dùng PHP............................................................................ 16
1.7 Khảo Sát Hiện Trạng................................................................................... 17
1.7.1 Khảo sát thực tế...................................................................................... 17
1.7.2 Khảo sát các website tương tự................................................................ 18


CHƯƠNG 2: TỔNG QUAN CHỨC NĂNG WEBSITE ..................................... 24
2.1 Quan Điểm Của Sản Phẩm...........................................................................
24
2.2 Chức Năng Sản Phẩm ...................................................................................

24

2.3 Người Dùng ....................................................................................................

24


2.4 Các Ràng Buộc ..............................................................................................

25

CHƯƠNG 3: YÊU CẦU CHỨC NĂNG WEBSITE ............................................

26

3.1 Xem tin ..........................................................................................................

26

3.2 Tìm kiếm sản phẩm ......................................................................................

26

3.3 Lọc sản phẩm ................................................................................................

26

3.4 Gửi yêu cầu nhận báo giá ............................................................................

26

3.5 Nhận xét bài viết về sản phẩm ....................................................................

26

3.6 Đăng nhập/đăng xuất ...................................................................................


26

3.7 Quản lý các tin đăng trên website ...............................................................

27

3.8 Nhận các thông báo yêu cầu từ khách hàng ..............................................

27

3.9 Quản lý thông tin tài khoản ........................................................................

27

CHƯƠNG 4: MÔ HÌNH USECASE .....................................................................

28

4.1 Tác nhân ........................................................................................................

28

4.2 Các yêu cầu chức năng ................................................................................

28

4.3 Lược Đồ Use Case ........................................................................................

30


4.4 Chi Tiết Các Use Case..................................................................................

31

CHƯƠNG 5: THIẾT KẾ WEBSITE ....................................................................

59

5.1 Thiết kế cơ sở dữ liệu ...................................................................................

59

5.1.1 Lược đồ cơ sở dữ liệu .............................................................................

59

5.1.2 Chi tiết các trường ...................................................................................

59

5.2 Mối quan hệ giữa các bản dữ liệu ...............................................................

64

5.3 Thiết kế giao diện Website – Front-End ....................................................

64

5.4 Lập trình Website – Back-End với Laravel ................................................


85

5.5 Một số đoạn code nổi bật ...........................................................................

145

KẾT LUẬN ............................................................................................................

156

TÀI LIỆU THAM KHẢO ....................................................................................

159


DANH MỤC CÁC BẢNG
TT

Số hiệu

Nội dung

Trang

1

Bảng 4.1 Bảng các tác nhân và quyền của
tác nhân trong UseCase


28

2

Bảng 4.2 Bảng các yêu cầu chức năng hệ
thống

28

3

Bảng 4.3 Bảng chi tiết các UseCase

31-58

4

Bảng 5.1 Bảng Table tai_khoans

59-60

5

Bảng 5.2 Bảng Table infoct

6

Bảng 5.3 Bảng Table thanhpham

7


Bảng 5.4 Bảng Table baogia

61

8

Bảng 5.5 Bảng Table sanpham

61

9

Bảng 5.6 Bảng Table loaisanpham

62

10

Bảng 5.7 Bảng Table loaisanpham_sanpham

62

11

Bảng 5.8 Bảng Table hinhsanpham

62

12


Bảng 5.9 Bảng Table nhanxet

1

60
60-61

62-63


DANH MỤC CÁC HÌNH ẢNH
TT

Số hiệu

Nội dung

Trang

1

Hình 1.1

Các phiên bản của laravel đến tháng
4 năm 2020

12

2


Hình 1.2

Cách thức hoạt động MVC trong
Laravel

14

3

Hình 1.3

Những ngôn ngữ lập trình phổ biến
từ năm 1965 – 2019

16

4

Hình 1.4

So sánh giữa ASP và PHP

17

5

Hình 1.5

Slide hình ảnh sản phẩm


19

6

Hình 1.6

Mẫu gửi thông tin yêu cầu tới công
ty

20

7

Hình 1.7

Danh mục các sản phẩm

20

8

Hình 1.8

Bài đăng thông tin về sản phẩm

21

9


Hình 1.9

Bài đăng báo giá

22

10

Hình 1.10 Bài đăng tin tức

22

11

Hình 1.11 Danh sách các công trình khác

23

12

Hình 4.1

Lượt đồ tổng quan usecase

30

13

Hình 5.1


Lượt đồ cơ sở dữ liệu

59

14

Hình 5.2

Các bản dữ liệu có mối quan hệ với
nhau

64

15

Hình 5.3

Trang chủ website Viko

64

16

Hình 5.4

Mục giới thiệu trên trang chủ

65

17


Hình 5.5

Mục sản phẩm nổi bật trên trang chủ

66

2


18

Hình 5.6

Mục tiêu chí hoạt động trên trang
chủ

66

19

Hình 5.7

Mục dự án đã thực hiên trên trang
chủ

67

20


Hình 5.8

Mục khách hàng nói về chúng tôi
trên trang chủ

67

21

Hình 5.9

Mục liên hệ trên trang chủ

68

22

Hình 5.10 Trang danh sách sản phẩm

68

23

Hình 5.11 Mục lọc sản phẩm trên trang danh
sách sản phẩm

69

24


Hình 5.12 Trang chi tiết sản phẩm

69

25

Hình 5.13 Mục bài viết trên trang chi tiết sản
phẩm

70

26

Hình 5.14 Mục nhận xét cùng mục sản phẩm
cùng loại trên trang chi tiết sản phẩm

71

27

Hình 5.15 Trang danh sách dự án đã thưc hiện

71

28

Hình 5.16 Mục các danh sách dự án đã thực
hiện trên trang dự án đã thực hiện

72


29

Hình 5.17 Trang chi tiết dự án

72

30

Hình 5.18 Mục bài viết trên trang chi tiết dự án

73

31

Hình 5.19 Mục các dự án khác trên trang chi
tiết dự án

73

32

Hình 5.20 Trang đăng nhập Admin

73

33

Hình 5.21 Trang Admin


74

34

Hình 5.22 Trang thêm loại sản phẩm

74

35

Hình 5.23 Trang danh sách loại sản phẩm

75

3


36

Hình 5.24 Trang sửa loại sản phẩm

75

37

Hình 5.25 Trang thêm sản phẩm

76

38


Hình 5.26 Trang danh sách sản phẩm

77

39

Hình 5.27 Trang sửa sản phẩm

78

40

Hình 5.28 Trang thêm dự án đã thực hiện

80

41

Hình 5.29 Trang danh sách dự án đã thực hiện

81

42

Hình 5.30 Trang sửa dự án đã thực hiện

82

43


Hình 5.31 Trang cập nhật thông tin công ty

83

44

Hình 5.32 Trang danh sách yêu cầu báo giá

84

45

Hình 5.33 Trang sửa thông tin tài khoản

84

46

Hình 5.34 Trang báo lỗi Not Found khi không
tìm thấy trang

84

4


LỜI MỞ ĐẦU
1. Tính cấp thiết của đề tài
Theo thống kê mới nhất, tính đến đầu năm 2019, Việt Nam đã có

hơn 60 triệu người sử dụng internet, chiếm hơn 60% dân số. Và trong
tương lai con số này sẽ vẫn tiếp tục tăng lên không ngừng. Có thể nói
đối với các nhà kinh doanh thì môi trường internet chính là một môi
trường chứa đầy khách hàng tiềm năng nhất mà mọi doanh nghiệp hay
tổ chức nào cũng đều thèm khát. Do đó để khai thác tiềm năng này một
cách tốt nhất thì điều không thể thiếu đó chính là đầu tư, phát triển cho
riêng mình một Website giới thiệu, quảng bá bản thân doanh nghiệp
hoặc bất kỳ tổ chức nào.
2. Tình hình nghiên cứu
Có thể nói việc nghiên cứu và phát triển website đã không còn là
một vấn đề xa lạ trong kỷ nghiên 4.0 ngày này. Và đặc biệt trong thời
đại kinh tế cạnh tranh thì các website phục vụ trong mục đích kinh
doanh, quảng bá luôn được ưu tiên phát triển hàng đầu. Điều này có thể
dễ dàng thấy thông qua các website của các thương hiệu nổi tiếng hàng
đầu trong lĩnh vực kinh doanh như samsung.com, lazada.vn,
sony.com.vn,… Những website của các thương hiệu này luôn được trao
chuốt một cách kĩ lưỡng. Ngoài ra không chỉ những các thương hiệu
lớn mới có riêng cho mình một website để quảng bá thương hiệu của
mình, mà còn hàng ngàn các công ty, doanh nghiêp lớn nhỏ đều sỡ hữu
một website để quảng bá thương hiệu của mình đến mọi người.

5


3. Mục đích nghiên cứu
Đề tài có mục đích xây dựng website giới thiệu công ty giúp đưa
tới khách hàng những hình ảnh, thông tin một cách đầy đủ và rõ nét về
công ty đó. Qua đó tạo được thêm nhiều ưu thế trên môi trường
marketing.
4. Nhiệm vụ nghiên cứu

Để thực hiện được đề tài một cách trọn vẹn phải trãi qua nhiều
giai đoạn nghiên cứu, tìm hiểu, chọn lọc và cuối cùng mới đến công
đoạn bắt tay vào xây dựng nên một website. Đầu tiên việc tìm hiểu về
cơ sở lý thuyết để tạo ra một website là điều tất yếu. Kế đến cần phải
khảo sát thực tế xem website có phù hợp cũng như đồng thời tham khảo
những website tương tự. Tiếp đến phải xây dựng mô hình về website
như các chức năng, ràng buộc,… Và cuối cùng là công việc xây dựng
website hoàn chỉnh.
5. Các kết quả đạt được của đề tài
Thông qua đề tài sẽ mang đến những kiến thức và cách xây dựng
lên một website hoàn chỉnh. Đồng thời website được xây dựng trong đề
tài sẽ đạt được một cách đầy đủ và tốt nhất các mục tiêu ban đầu đề.

6


CHƯƠNG 1: CƠ SỞ LÝ THUYẾT VÀ KHẢO SÁT
1.1 HTML,CSS và JavaScript


HTML, CSS và JavaScript là những khái niệm không hề xa lạ

với những người lập trình website chuyên nghiệp. Chúng chính là nền tảng
không thể thiếu để xây dựng,tô vẽ và làm sống động cho chính những
trang web. Và vì lẽ đó mà HTML, CSS, JavaScript là những khái niệm mà
bắt buộc ai cũng phải có khi muốn bước chân vào con đường phát triển
website. 1.1.1 HTML là gì?
− HTML là viết tắt của HyperText Markup Language (ngôn ngữ
đánh dấu siêu văn bản) dùng mô tả cấu trúc của các trang Web và tạo ra
các loại tài liệu có thể xem được trong trình duyệt.

− HTML là cốt lõi của mọi trang web. Mỗi trang web được tạo
thành từ một loạt các thẻ HTML mà chúng biểu thị từng loại nội dung
trên trang. Mỗi loại nội dung trên trang được “bọc”, tức là được bao
quanh bởi các thẻ HTML.
− HTML không phải là ngôn ngữ lập trình, đồng nghĩa với việc nó
không thể tạo ra các chức năng “động” được. Nó chỉ giống như Microsoft

Word, dùng để bố cục và định dạng trang web.
1.1.2 CSS là gì?
− CSS (viết tắt của Cascading Style Sheets) là một ngôn ngữ định
dạng được sử dụng để mô tả trình bày các trang Web, bao gồm màu sắc,
cách bố trí và phông chữ. Nó cho phép hiển thị nội dung tương thích trên

các loại thiết bị có kích thước màn hình khác nhau, chẳng hạn như màn
hình lớn, màn hình nhỏ, hoặc máy in.

7


− Trong khi HTML là cấu trúc cơ bản của trang web. CSS mang lại
cho trang web của bạn phong cách mà bạn muốn. CSS gần như tạo nên
bộ mặt của một website.
− Cũng giống như HTML, CSS không phải là một ngôn ngữ lập
trình.
1.1.3 JavaScript là gì?
− JS (viết tắt của Javascript) là một nền tảng (cross-platform), ngôn
ngữ kịch bản hướng đối tượng (object-oriented). Nó là một ngôn ngữ nhỏ

và nhẹ. Chạy trong môi trường máy chủ lưu trữ (ví dụ: trình duyệt
web), JavaScript có thể được kết nối với các đối tượng của môi trường

để cung cấp kiểm soát chương trình đối với chúng.
− JavaScript là ngôn ngữ lập trình dựa trên logic. Nó có thể được sử

dụng để sửa đổi nội dung trang web. Và khiến nó hoạt động theo nhiều
cách khác nhau để đáp ứng với hành động của người dùng. Các cách sử
dụng phổ biến cho JavaScript bao gồm các hộp xác nhận, kêu gọi hành
động và thêm các danh tính mới vào thông tin hiện có.
1.2 Bootstrap
1.2.1 Bootstrap là gì?
− Bootstrap là một front-end framework miễn phí giúp quá trình
phát triển web nhanh chóng và dễ dàng hơn.
− Bootstrap bao gồm các mẫu thiết kế dựa trên HTML và CSS như
typography, forms, buttons, tables, navigation, modals, image
carousels… cũng như các plugin JavaScript tùy chọn.
− Bootstrap cũng cung cấp cho bạn khả năng tạo ra các responsive
designs một cách dễ dàng.

8


1.2.2 Tại sao nên dùng Bootstrap?
− Dễ sử dụng: Bất kỳ ai có kiến thức cơ bản về HTML và CSS đều
có thể bắt đầu sử dụng Bootstrap.
− Các tính năng đáp ứng (Responsive features): responsive CSS của
Bootstrap điều chỉnh cho điện thoại, máy tính bảng và máy tính để bàn.
− Khả năng tương thích trình duyệt: Bootstrap tương thích với tất cả

các trình duyệt hiện đại (Chrome, Firefox, Internet Explorer, Edge,
Safari và Opera).
− Tiết kiệm thời gian: Bootstrap giúp cho lập trình viên thiết kế

giao diện website tiết kiệm rất nhiều thời gian và công sức, bởi các thư
viện của Bootstrap có nhiều đoạn mã có thể sẵn sàng áp dụng ngay vào
website. Khi đó sẽ tiết kiệm được rất nhiều thời gian để tự viết code cho
giao diện website của bản thân.
1.3 JQuery
1.3.1 JQuery là gì?
− JQuery là thư viện được viết từ JavaScript, jQuery giúp xây dựng
các chức năng bằng Javascript dễ dàng, nhanh và giàu tính năng hơn.
jQuery được tích hợp nhiều module khác nhau. Từ module hiệu ứng
cho đến module truy vấn selector. jQuery được sử dụng đến 99% trên
tổng số website trên thế giới.
− JQuery không phải là một ngôn ngữ lập trình riêng biệt mà hoạt
động liên kết với JavaScript. Với jQuery, bạn có thể làm được nhiều
việc hơn mà lại tốn ít công sức hơn.
1.3.2 Tại sao nên dùng jQuery?
− Gọn nhẹ: jQuery là một thư viện khá gọn nhẹ – có kích cỡ
khoảng 19KB.

9


− Tương thích đa nền tảng: Nó tự động sửa lỗi và chạy được trên
mọi trình duyệt phổ biến như Chrome, Firefox, Safari, MS Edge, IE,
− Dễ dàng tạo Ajax: Nhờ thư viện jQuery, code được viết bởi Ajax
có thể dễ dàng tương tác với server và cập nhật nội dung tự động mà
không cần phải tải lại trang.
− Xử lý nhanh nhạy thao tác DOM: jQuery giúp lựa chọn các phần
tử DOM để traverse (duyệt) một cách dễ dàng, và chỉnh sửa nội dung
của chúng bằng cách sử dụng Selector mã nguồn mở, mà còn được gọi
là Sizzle.

− Đơn giản hóa việc tạo hiệu ứng: Giống với code snippet có hiệu
ứng animation, nó phủ các dòng code và bạn chỉ việc thêm biến/nội
dung vào thôi.
− Hỗ trợ tốt phương thức sự kiện HTML: Xử lý sự kiện − jQuery xử

lý các sự kiện đa dạng mà không làm cho HTML code trở nên lộn xộn
với các Event Handler.
1.4 Ajax
1.4 Ajax là gì?
− AJAX là chữ viết tắt của Asynchronous JavaScript and XML. Đây

là một công nghệ giúp chung ta tạo ra những Web động mà hoàn toàn
không reload lại trang.
− Cả JavaScript và XML đều hoạt động bất đồng bộ trong AJAX.
Kết quả là, nhiều ứng dụng web có thể sử dụng AJAX để gửi và nhận
data từ server mà không phải toàn bộ trang.

10


1.4.2 Tại sao nên dùng Ajax?
− Callbacks: Ajax được sử dụng để thực hiện một cuộc gọi lại.
AJAX thực hiện việc truy xuất và / hoặc lưu dữ liệu mà không gửi toàn
bộ trang trở lại máy chủ. Bằng cách gửi lại một phần trang web đến
máy chủ, việc sử dụng mạng được giảm thiểu và các hoạt động diễn ra
nhanh hơn. Trong các trang web băng thông hạn chế, điều này có thể
cải thiện đáng kể hiệu suất mạng. Dữ liệu được gửi đến và đi từ máy
chủ một cách tối thiểu.
− Thực hiện các cuộc gọi không đồng bộ: Ajax cho phép bạn thực
hiện các cuộc gọi không đồng bộ đến một máy chủ web. Điều này cho

phép trình duyệt của người dùng tránh phải chờ tất cả dữ liệu đến trước
khi cho phép người dùng hành động một lần nữa.
− Thân thiện với người dùng: Vì không phải post lại trang lên server,
các ứng dụng hỗ trợ Ajax sẽ luôn nhanh hơn và thân thiện với người dùng

hơn.
− Tăng tốc độ: Mục đích chính của Ajax là cải thiện tốc độ, hiệu
suất và khả năng sử dụng của một ứng dụng web. Một ví dụ tuyệt vời
của Ajax là tính năng xếp hạng phim trên Netflix. Người dùng đánh giá
một bộ phim và xếp hạng cá nhân của họ cho bộ phim đó sẽ được lưu
vào cơ sở dữ liệu của họ mà không cần chờ trang làm mới hoặc tải lại.
1.5 Lararel
1.5.1 Laravel là gì?
− Là một framework PHP có mã nguồn mở miễn phí, giúp xây dựng
các ứng dụng theo mô hình MVC (Model - View – Controller) một cách

nhanh chóng, được tạo ra bởi một lập trình viên kỳ cựu từng làm .NET

11


đó là Taylor Otwell. Được phát hành lần đầu vào ngày 9 tháng 6 năm
2011.

Các phiên bản của laravel đến tháng 4 năm 2020

− Trước đây Laravel có tên là Bootplant sau đó thì đổi thành là
Laravel, nguồn gốc tên bắt nguồn từ tên một tòa lâu đài ở Narnia, một
vùng đất không có thật, mà nó ở trong một thế giới được tưởng tượng ra


12


bởi nhà văn Clive Staples Lewis, và viết thành cuốn tiểu thuyết “Biên
niên sử Narnia” [4] rất nổi tiếng được dựng thành phim. Tòa lâu đài có
tên là Paravel đọc lái đi sẽ thành Laravel, mục đích của Taylor Otwell
là mong muốn đứa con tinh thần Laravel phát triển một cách mạnh mẽ
và vững trải như tòa lâu đài. Và rồi đến tận bây giờ thì Laravel vẫn luôn
là một trong những framework tốt nhất của PHP.
1.5.2 Tại sao nên dùng Laravel?
− Laravel có thể xây dựng hệ thống các ứng dụng web phức tạp với
hiệu năng cao. Cho dù laravel rất đơn giản và dễ dàng cho người mới
tiếp cận với framework PHP nhưng vẫn đảm bảo hệ thống có kiến trúc
thống nhất và khoa học.
− Cộng đồng Laravel rất lớn trên Laracast, bạn có thể tìm câu trả lời
cho những vấn đề, tình huống mà bạn thắc mắc hay là không biết trong
Laravel. Không những thế các tài nguyên liên quan đến Laravel cũng rất
đa dạng, dễ sử dụng. Tác giả của framework này -Taylor Otwell cũng đã
biên soạn ra tài liệu để cho các lập trình viên khám phá và trải nghiệm.

− Có tích hợp công cụ dòng lệnh là Artisan, hỗ trợ rất nhiều trong
việc phát triển ứng dụng: tối ưu hóa ứng dụng, migrate dữ liệu, tạo các
template, controller, …
− Trong Laravel có một bộ máy template rất hay, đó là blade
template, giúp thực hiện làm việc tương tác giữa PHP và HTML đơn
giản hơn, tách biệt hơn giữa mã hiển thị và mã logic nghiệp, cái mà
trước đó chỉ có thể biết đến ở .NET hoặc Java. Blade template còn có
thể kế thừa một template khác và có thể còn script js, jquery…
− Laravel sử dụng gói thư viện Webpack kết hợp với npm, yarn...
nhằm giúp bạn tự động hóa thay vì build thủ công các ứng dụng và triển


13


khai sản phẩm. Từ đó có thể thấy được Laravel hỗ trợ việc các đặt các
gói thư viện và sử dụng nhằm tạo ra các tính năng tuyệt vời.
− Laravel rất an toàn trong việc chỉn chu bảo mật với CSRF tokens.
Với cách kiểm tra mã CSRF trong mỗi POST, về cơ bản là đã bảo vệ
chương trình khi bị cố tình thay đổi bản chất, kể cả từ POST đến GET.
Ngoài ra Laravel còn cung cấp sẵn các Middleware cho trước hoặc lập
trình viên có thể được hỗ trợ để tạo riêng cho mình một Middleware nhằm
mục đích tăng thêm độ bảo mật cho ứng dụng website.
− Laravel hỗ trợ lập trình theo mô hình MVC khá mạnh mẽ. Ngoài

các thành phần chính Model, View, Controller thì Routes được sử dụng
định tuyến người dùng theo đúng Urls.
− Laravel luôn thay đổi, cập nhật trong các phiên bản, luôn tìm kiếm
những tính năng hay, những gói thư viện tốt và hữu ích để tích hợp vào.

Cách thức hoạt động MVC trong Laravel

14


1.6 PHP
1.6.1 PHP là gì?
− PHP khởi đầu như là một dự án mã nguồn mở nhỏ, nhưng theo đà

phát triển, ngày càng nhiều người thấy rằng nó càng ngày càng hữu ích.
PHP được phát triển từ một sản phẩm có tên là PHP/FI. PHP/FI do

Rasmus Lerdorf tạo ra năm 1994, ban đầu được xem như là một tập con
đơn giản của các mã kịch bản Perl để theo dõi tình hình truy cập đến
bản sơ yếu lý lịch của ông trên mạng. Ông đã đặt tên cho bộ mã kịch
bản này là "Personal Home Page Tools". Khi cần đến các chức năng
rộng hơn, Rasmus đã viết ra một bộ thực thi bằng C lớn hơn để có thể
truy vấn tới Database và giúp cho người sử dụng phát triển các ứng
dụng web đơn giản. Rasmus đã quyết định công bố mã nguồn của
PHP/FI cho mọi người xem, sử dụng cũng như sửa các lỗi có trong nó,
đồng thời cải tiến mã nguồn.
− PHP viết hồi qui của "PHP: Hypertext Preprocessor".
− PHP là ngôn ngữ lập trình kịch bản viết cho máy chủ mà được
nhúng trong HTML. Nó được sử dụng để quản lý nội dụng động,
Database, Session tracking, … Nó được tích hợp với một số Database
thông dụng như MySQL, PostgreSQL, Oracle, Sybase, Informix, và
Microsoft SQL Server.
− PHP thực thi rất tuyệt vời, đặc biệt khi được biên dịch như là một
Apache Module trên Unix side. MySQL Server, khi được khởi động,
thực thi các truy vấn phức tạp với các tập hợp kết quả khổng lồ trong
thời gian Record-setting.
− PHP hỗ trợ một số lượng rộng rãi các giao thức lớn như POP3,
IMAP, và LDAP. PHP4 bổ sung sự hỗ trợ cho Java và các cấu trúc đối
tượng phân phối (COM và CORBA).

15


− Cú pháp PHP là giống C.

Những ngôn ngữ lập trình phổ biến từ năm 1965 – 2019


1.6.2 Tại sao nên dùng PHP
− Hiện nay, có hàng ngàn ngôn ngữ lập trình có sẵn nhưng chỉ có vài
ngôn ngữ phổ biến và được nhiều người tin dùng. 1 trong các ngôn ngữ
lập trình phổ biến nhất đó là PHP. Đây là 1 ngôn ngữ được thiết kế để
phục vụ cho việc phát triển web và được cài đặt trên 20 triệu website,

1 triệu máy chủ web.
− Ngôn ngữ ASP cũng là 1 ngôn ngữ lập trình được xem là 1 trong

những đối thủ cạnh tranh của PHP, 2 ngôn ngữ này đều được dùng cho
việc tạo website, linh động hơn so với web tĩnh dùng ngôn ngữ HTML,
cho phép người dùng tương tác và trao đổi thông tin.
− Hiện nay, có hàng ngàn ngôn ngữ lập trình có sẵn nhưng chỉ có
vài ngôn ngữ phổ biến và được nhiều người tin dùng. 1 trong các ngôn
ngữ lập trình phổ biến nhất đó là PHP. Đây là 1 ngôn ngữ được thiết kế

16


để phục vụ cho việc phát triển web và được cài đặt trên 20 triệu website,

1 triệu máy chủ web.
− Ngôn ngữ ASP cũng là 1 ngôn ngữ lập trình được xem là 1 trong
những đối thủ cạnh tranh của PHP, 2 ngôn ngữ này đều được dùng cho
việc tạo website, linh động hơn so với web tĩnh dùng ngôn ngữ HTML,
cho phép người dùng tương tác và trao đổi thông tin.

So sánh giữa ASP và PHP

1.7 Khảo Sát Hiện Trạng

1.7.1 Khảo sát thực tế
− Hiện nay, kinh tế ngày càng phát triển dẫn theo đó xuất hiện ngày
càng nhiều những doanh nghiệp, công ty luôn trong trạng thái cạnh
tranh nhau trong việc kinh doanh, buôn bán. Chính vì lẽ đó để luôn
đứng vững và phát triển trên thị trường, nhiều doanh nghiệp, công ty đã
đặt Marketing là yếu tố chiến lược hàng đầu. Và một trong những chiến
lược quảng bá không thể thiếu trong thời đại bùng nổ internet ngày nay
đó chính là có riêng cho mình một website giới thiệu hình ảnh, thông
tin của công ty hoặc doanh nghiệp.

17


×