Tải bản đầy đủ (.pdf) (89 trang)

Đồ án tốt nghiệp Công nghệ thông tin: Xây dựng Website trường Cao đẳng Du lịch Hải Phòng

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 (4.44 MB, 89 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC QUẢN LÝ VÀ CƠNG NGHỆ HẢI PHỊNG

-------------------------------

ISO 9001:2015

ĐỒ ÁN TỐT NGHIỆP
NGÀNH : CÔNG NGHỆ THÔNG TIN

Sinh viên:

Bùi Quang Tuấn

Giảng viên hướng dẫn: TS. Đỗ Văn Chiểu

HẢI PHÒNG – 2020
Sinh Viên: Bùi Quang Tuấn - Lớp: CT1701- Ngành: Công nghệ thông tin

1


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC QUẢN LÝ VÀ CƠNG NGHỆ HẢI PHỊNG
-----------------------------------

Xây dựng Website trường Cao đẳng Du lịch Hải Phòng

ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
NGÀNH: Cơng nghệ thơng tin


Sinh viên

:Bùi Quang Tuấn

Giảng viên hướng dẫn: TS. Đỗ Văn Chiểu

HẢI PHÒNG – 2020

Sinh Viên: Bùi Quang Tuấn - Lớp: CT1701- Ngành: Công nghệ thông tin

2


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC QUẢN LÝ VÀ CƠNG NGHỆ HẢI PHỊNG
---------------------------------------

NHIỆM VỤ ĐỀ TÀI TỐT NGHIỆP

Sinh viên: Bùi Quang Tuấn

Mã sv: 1312101027

Lớp: CT1701
Ngành: Công Nghệ Thông Tin
Tên đề tài: Xây dựng Website trường Cao đẳng Du lịch Hải Phòng

Sinh Viên: Bùi Quang Tuấn - Lớp: CT1701- Ngành: Công nghệ thông tin

3



NHIỆM VỤ ĐỀ TÀI
1. Nội dung và các yêu cầu cần giải quyết trong nhiệm vụ đề tài tốt nghiệp
-

Tìm hiểu lập trình website với PHP/ My SQL.

-

Xây dựng website trường Cao đẳng Du lịch Hải Phịng.
+ Phân tích thiết kế hệ thống.
+ Xây dựng Back - end, Front – end.

-

Demo website thử nghiệm.

2. Các tài liệu, số liệu cần thiết
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
3. Địa điểm thực tập tốt nghiệp
………………………………………………………………………………


Sinh Viên: Bùi Quang Tuấn - Lớp: CT1701- Ngành: Công nghệ thông tin

4


CÁN BỘ HƯỚNG DẪN ĐỀ TÀI TỐT NGHIỆP
Họ và tên

: Đỗ Văn Chiểu

Học hàm, học vị

: Tiến sĩ

Cơ quan công tác

: Trường Đại học Quản lý và Công nghệ Hải Phòng

Nội dung hướng dẫn : Xây dựng Website trường Cao đẳng Du lịch Hải

Phòng

Đề tài tốt nghiệp được giao ngày 30 tháng 03 năm 2020
Yêu cầu phải hoàn thành xong trước ngày 30 tháng 06 năm 2020

Đã nhận nhiệm vụ ĐTTN

Đã giao nhiệm vụ ĐTTN


Sinh viên

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

Hải Phòng, ngày

tháng

năm 2020

HIỆU TRƯỞNG

Sinh Viên: Bùi Quang Tuấn - Lớp: CT1701- Ngành: Công nghệ thông tin

5


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 Đỗ Văn Chiểu, giảng viên Bộ môn Công Nghệ
Thông Tin - Trường Đại học Quản lý và Cơng nghệ Hải Phịng người đã tận tình
hướng dẫn, chỉ bảo em trong suốt q trình làm khố luận.
Em cũng xin chân thành cảm ơn các thầy cô giáo trong trường Đại học Quản
lý và Cơng nghệ Hải Phịng nói chung, các thầy cô trong Bộ môn Công Nghệ
Thông Tin 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 để em có được ngày hơm nay.
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 q trình học tập và hồn thành

khố luận tốt nghiệp.
Em xin chân thành cảm ơn!

Hải Phòng, ngày

tháng

năm 2020

Sinh Viên

Bùi Quang Tuấn

Sinh Viên: Bùi Quang Tuấn - Lớp: CT1701- Ngành: Công nghệ thông tin

6


Mục lục
GIỚI THIỆU .............................................................................................................. 10
CHƯƠNG 1: TỔNG QUAN ..................................................................................... 12
1.1 Tổng quan về World Wide Web ...................................................................... 12
1.1.1 Khái niệm .................................................................................................... 12
1.1.2 Cách tạo ra trang web................................................................................ 12
1.1.3. Trình duyệt web (web Client hay web Browser) ..................................... 12
1.1.4. Webserver ................................................................................................... 13
1.2.Tổng quan về Html-css ..................................................................................... 13
1.2.1: Giới thiệu về html...................................................................................... 13
1.2.2: Giới thiệu về Css........................................................................................ 14
1.3.Ngôn ngữ PHP................................................................................................... 15

1.3.1 Định nghĩa PHP .......................................................................................... 15
1.3.2 Lý do nên dùng PHP ................................................................................ 15
1.3.3. Hoạt động của PHP ................................................................................... 16
1.3.4. Tổng quan về PHP..................................................................................... 16
1.3.5. Hàm trong php .......................................................................................... 18
1.3.6. Biểu mẫu PHP............................................................................................ 19
1.3.7. PHP OOP(Object-Oriented Programming.) .......................................... 19
1.3.8 Session và Cookie ....................................................................................... 19
1.4 Tổng quan về framework Yii 2 ........................................................................ 21
1.4.1 Giới thiệu về Yii 2 ....................................................................................... 21
1.4.2 Một số thành phần chính ........................................................................... 21
1.4.3. Routing and URL Creation ...................................................................... 23
CHƯƠNG 2 . THIẾT KẾ BACK-END, FRONT-END.......................................... 24
2.1 Phân tích thiết kế hệ thống .............................................................................. 24
Sinh Viên: Bùi Quang Tuấn - Lớp: CT1701- Ngành: Công nghệ thông tin

7


2.1.1. Bảng cơ sở dữ liệu ......................................................................................... 27
2.1.2. Các kiểu liên kết ............................................................................................ 30
2.1 Xây dựng back-end ........................................................................................... 32
2.1.1 Tạo Project và thêm framework Yii2 ...................................................... 32
2.1.2 Kết nối cơ sở dữ liệu ................................................................................... 32
2.1.3. Tạo Model Generator và CRUD Generator ........................................... 34
2.1.4 Giải thích nội dung ..................................................................................... 38
2.2 Xây dựng Front-end ......................................................................................... 66
2.2.1 Tạo thư mục ................................................................................................ 66
2.2.2 Tổng quan về front-end ............................................................................. 66
2.2.3 Xây dựng trang trang chủ ......................................................................... 67

2.2.4 Xây dựng trang giới thiệu .......................................................................... 73
2.2.5 Xây dựng trang bài viết ............................................................................. 75
CHƯƠNG 3: DEMO WEBSITE .............................................................................. 80
3.1 Demo Back-end ............................................................................................... 80
3.2 Demo Front-end .............................................................................................. 82
3.2.1 Demo trang trang chủ ................................................................................ 82
3.2.2 Demo trang chi tiết bài viết ....................................................................... 86
KẾT LUẬN ................................................................................................................. 88
TÀI LIỆU THAM KHẢO ......................................................................................... 89

Sinh Viên: Bùi Quang Tuấn - Lớp: CT1701- Ngành: Công nghệ thông tin

8


LỜI MỞ ĐẦU
Hịa nhập vào cả nước với cơng nghệ 4.0, nhu cầu sử dụng công nghệ ngày càng cao,
hiểu rõ được những lợi ích lớn và tầm quan trong của lĩnh vực công nghệ thông tin. Các
doanh nghiệp dù lớn hay nhỏ, dù trong lĩnh vực nào thì việc tiếp cận công nghệ thông tin
và song hành cùng công nghệ thơng tin ln mang lại lợi ích và hiệu quả mạnh mẽ. Phát
triển doanh nghiệp luôn được áp dụng các ứng dụng và lợi ích của cơng nghệ thơng tin đa
dạng trong lĩnh vực ngành nghề được áp dụng cơng nghệ thơng tin giúp ích khơng nhỏ
trong việc hoạt động của cơng ty. Ví dụ như một doanh nghiệp khi áp dụng ứng dụng
công nghệ thông tin trong việc phát triển phần mềm để quản lý doanh nghiệp sẽ nâng cao
hiệu quả, tính chính xác cao và giảm thiểu được nhân lực quản lý. Ví dụ khác, một cơng
ty cần phải giới thiệu về lĩnh vực dịch vụ riêng của mình, hay truyền tải thơng tin cho
người đọc giúp họ xem được thơng tin, thơng báo hay có tin tức mới nào đó cập nhập cho
mọi người khi cần sẽ truy cập hay chỉ một văn bản chung cho mọi người cùng tải về để
xem.
Trong quá trình học tập và tìm hiểu, được sự giúp đỡ của các thầy cơ, em có nhận đề

tài tốt nghiệp với tên đề tài là: Xây dựng Website trường Cao đẳng Du lịch Hải Phịng.
Đây cũng là cơ hội giúp em có được trải nghiệp của mình trong một đề tài thực tế này.

Sinh Viên: Bùi Quang Tuấn - Lớp: CT1701- Ngành: Công nghệ thông tin

9


GIỚI THIỆU
1. Mục tiêu đề tài
Tìm hiểu, nghiên cứu và xây dựng website Trường cao đẳng du lịch Hải Phòng.
Xây dựng một trang website động với nội dung linh hoạt, cấu trúc dễ hiểu, phù hợp
với website giáo dục.

2. Giải pháp và cách thực hiện đề tài
Tìm hiểu về website giáo dục, tham khảo về bố cục của trang website, tìm hiểu thơng
tin về Trường cao đẳng du lịch Hải Phịng, thu thập hình ảnh, dữ liệu. Sau đó phân tích
thiết kế hệ thống thơng tin, xây dựng nội dung quản trị Back-end và giao diện Front-end
website.
Xây dựng một website thì việc lựa chọn ngơn ngữ và ứng dụng khi làm việc là điều
rất quan trọng. Đề tài sử dụng ngơn ngữ PHP làm ngơn ngữ lập trình và sử dụng ứng
dụng chính là framework Yii 2 để xây dựng website, và một số thư viện hỗ trợ trong việc
xây dựng website.

3. Giới thiệu về Trường cao đẳng du lịch Hải Phòng
Trường Cao Đẳng Du Lịch Hải Phòng là trường cơng lập trực thuộc Bộ Văn hóa, Thể
thao và Du lịch, được Thủ Tướng chính phủ lựa chọn đầu tư thành trường chất lượng cao.
Trường có địa chỉ tại xã Nam Sơn, huyện An Dương, thành phố Hải Phòng. Theo định
hướng quy hoạch cơ sở giáo dục nghề nghiệp và điều chỉnh ngành nghề trọng điểm, Nhà
trường được phép đào tạo 6 ngành nghề trọng điểm quốc gia bao gồm: Quản trị nhà hàng,

Quản trị khách sạn, Quản trị lễ tân, Quản trị lữ hành, Hướng dẫn du lịch và Quản trị chế
biến món ăn.
Từ năm 2016, Nhà trường thực hiện đào tạo cấp độ quốc tế hai chuyên ngành Quản
trị lữ hành và Hướng dẫn du lịch theo chương trình chuyển giao của Australia, năm 2019
tiếp tục đào tạo hai chuyên ngành Quản trị khách sạn và Kỹ thuật chế biến món ăn theo
chương trình chuyển giao của CHLB Đức.
Sinh viên học tại trường 100% được cam kết bố trí việc làm tại các doanh nghiệp du lịch
dịch vụ đẳng cấp.

Sinh Viên: Bùi Quang Tuấn - Lớp: CT1701- Ngành: Công nghệ thông tin

10


4. Ý nghĩa
Lợi ích của việc xây dựng trang website trường học nói chung và website
Trường cao đẳng du lịch Hải Phịng nói riêng là điều rất cần thiết và quan trọng.
Giúp ích trong việc truyền đạt thơng tin tới người đọc, quảng bá hình ảnh của
trường. Giúp các bạn sinh viên cập nhập được tin tức, thông báo mới và những
tài liệu học tập trực tuyến bổ ích….

Sinh Viên: Bùi Quang Tuấn - Lớp: CT1701- Ngành: Công nghệ thông tin

11


CHƯƠNG 1: TỔNG QUAN
1.1 Tổng quan về World Wide Web
1.1.1 Khái niệm
World Wide Web (WWW) hay còn gọi là web là một dịch vụ phổ biến

nhất hiện nay trên Internet, 85% các giao dịch trên Internet ước lượng thuộc về
WWW. Ngày nay số website trên thế giới đã đạt tới con số khổng lồ. WWW cho
phép truy xuất thông tin văn bản, hình ảnh, âm thanh, video trên tồn thế giới.
Thơng qua website, các q cơng ty có thể giảm thiểu tối đa chi phí in ấn và
phân phát tài liệu cho khách hàng ở nhiều nơi.
1.1.2 Cách tạo ra trang web
Có nhiều cách để tạo trang web, có thể tạo trang web trên bất kì chương trình
xử lí văn bản nào:
-

-

-

-

Tạo web bằng cách viết mã nguồn bởi một trình soạn thảo văn bản như:
Notepad, WordPad, v.v. là những chương trình soạn thảo văn bản có sẵn
trong Window.
Thiết kế bằng cách dùng web Wizard và công cụ của Word 97, Word
2000.
Thiết kế web bằng các phần mềm chuyên nghiệp: PHPStorm,
Dreamweaver, Nescape Editor,.. sẽ giúp thiết kế trang web dễ dàng hơn,
nhanh chóng hơn, phần lớn mã lệnh HTML sẽ có sẵn trong phần code.
Để xây dựng một ứng dụng web hồn chỉnh và có tính thương mại, cần
kết hợp cả Client Script (kịch bản trình khách) và Server Script (kịch bản
trên trình chủ) với một loại cơ sở dữ liệu nào đó, chẳng hạn như: MS
Access, SQL Server, MySQL, Oracle,....
Khi muốn triển khai ứng dụng web trên mạng, ngoài các điều kiện về
cấu hình phần cứng, cần có trình chủ web thường gọi là web Server.


1.1.3. Trình duyệt web (web Client hay web Browser)
Trình duyệt Web là cơng cụ truy xuất dữ liệu trên mạng, là phần mềm giao diện trực
tiếp với người sử dụng. Nhiệu vụ của Web Browser là nhận các yêu cầu của người dùng,
gửi các yêu cầu đó qua mạng tới các Web Server và nhận các dữ liệu cần thiết từ Server
để hiển thị lên màn hình. Để sử dụng dịch vụ WWW, Client cần có một chương trình
duyệt Web, kết nối vào Internet thơng qua một ISP. Các trình duyệt thơng dụng hiện nay
là: Microsoft Internet Explorer, Google Chrome, Mozilla FireFox….

Sinh Viên: Bùi Quang Tuấn - Lớp: CT1701- Ngành: Công nghệ thông tin

12


1.1.4. Webserver
Webserver là một máy tính được nối vào Internet và chạy các phần mềm
được thiết kế. Webserver đóng vai trị một chương trình xử lí các nhiệm vụ xác
định, như tìm trang thích hợp, xử lí tổ hợp dữ liệu, kiểm tra dữ liệu hợp lệ
Webserver cũng là nơi lưu trữ cơ sở dữ liệu, là phần mềm đảm nhiệm vai trò
server cung cấp dịch vụ Web.Webserver hỗ trợ các các công nghệ khác nhau:
-

1.2.

IIS (Internet Information Service): Hỗ trợ ASP, mở rộng hỗ trợ PHP. Apache: Hỗ trợ PHP.
Tomcat: Hỗ trợ JSP (Java Servlet Page).

Tổng quan về Html-css

1.2.1: Giới thiệu về html


Hình 1 Cấu trúc website

-

-

-

Thẻ <!DOCTYPE html> định nghĩa trang html, kiểu khai báo của html 5.
Thẻ tạo tiêu đề trang trên thanh tiêu đề, đây là thẻ bắt buộc. Thẻ title cho phép trình
bày chuỗi trên thanh tựa đề của trang web mỗi khi trang Web đó được duyệt trên
trình duyệt web.
Thẻ <body> ... </body> tất cả các thông tin khai báo trong thẻ <body> đều có thể
xuất hiện trên trang web. Những thơng tin này có thể nhìn thấy trên trang web.
Thẻ <div>…..</div> định nghĩa một nội dung.
Thẻ

...

tạo một đoạn mới..
Thẻ <font> ... </font> thay đổi phơng chữ, kích cỡ và màu kí tự.
Thẻ <table> ... </table> đây là thẻ định dạng bảng trên trang web. Sau khi khai báo
thẻ này, phải khai báo các thẻ hàng <tr> và thẻ cột <td> cùng với các thuộc tính
của nó.
Thẻ <img /> cho phép chèn hình ảnh vào trang web. Thẻ này thuộc loại thẻ khơng
có thẻ đóng.

Sinh Viên: Bùi Quang Tuấn - Lớp: CT1701- Ngành: Công nghệ thông tin

13


-


-

-

-

Thẻ <a> ... </a> là loại thẻ dùng để liên kết giữa các trang web hoặc liên kết đến
địa chỉ Internet, Mail hay Intranet (URL) và địa chỉ trong tập tin trong mạng cục
bộ (UNC).
Thẻ <input /> cho phép người dùng nhập dữ liệu hay chỉ thị thực thi một hành
động nào đó, thẻ Input bao gồm các loại thẻ như: text, password, submit, button,
reset, checkbox, radio, hidden, image.
Thẻ < textarea>.... < \textarea> cho phép người dùng nhập liệu với rất nhiều dịng.
Với thẻ này khơng thể giới hạn chiều dài lớn nhất trên trang Web.
Thẻ <select> … </select> cho phép người dùng chọn phần tử trong tập phương
thức đã được định nghĩa trước. Nếu thẻ <select> cho phép người dùng chọn một
phần tử trong danh sách phần tử thì thẻ <select> sẽ giống như combobox. Nếu thẻ
<select> cho phép người dùng chọn nhiều phần tử cùng một lần trong danh sách
phần tử, thẻ <select> đó là dạng listbox.
Thẻ <form> … .</form> khi muốn submit dữ liệu người dùng nhập từ trang web
phía Client lên phía Server, có hai cách để làm điều nàu ứng với hai phương thức
POST và GET trong thẻ form. Trong một trang web có thể có nhiều thẻ <form>
khác nhau, nhưng các thẻ
khai báo hành động (action) chỉ đến một trang khác.

1.2.2: Giới thiệu về Css
Css là ngôn ngữ tạo phong cách cho trang web – Cascading Style Sheet language.
CSS được phát triển bởi W3C (World Wide Web Consortium) vào năm 1996.
Nó dùng để tạo phong cách và định kiểu cho những yếu tố được viết dưới dạng ngôn

ngữ đánh dấu, như là HTML. Nó có thể điều khiển định dạng của nhiều trang web cùng
lúc để tiết kiệm công sức cho người viết web. Nó phân biệt cách hiển thị của trang web
với nội dung chính của trang bằng cách điều khiển bố cục, màu sắc, và font chữ….
Mối tương quan giữa HTML và CSS rất mật thiết. HTML là ngôn ngữ markup (nền
tảng của site) và CSS định hình phong cách (tất cả những gì tạo nên giao diện website),
chúng là khơng thể tách rời.
Các stylesheet ngoài được lưu trữ dưới dạng các tập tin .CSS.
Bootstrap là một framework bao gồm các HTML, CSS và JavaScript template dùng
để phát triển website chuẩn responsive. Bootstrap cho phép quá trình dùng để phát triển
website chuẩn responsive. Bootstrap cho phép qúa trình thiết kế website diễn ra nhanh
chóng và dễ dàng hơn.

Sinh Viên: Bùi Quang Tuấn - Lớp: CT1701- Ngành: Công nghệ thông tin

14


1.3.

Ngôn ngữ PHP

1.3.1 Định nghĩa PHP
PHP là chữ viết tắt của “Personal Home Page do” Rasmus Lerdorf tạo ra năm
1994. Vì tính hữu dụng của nó và khả năng phát triển, PHP bắt đầu được sử dụng trong
môi trường chuyên nghiệp và nó trở thành ”PHP:Hypertext Preprocessor”. Thực chất PHP
là ngơn ngữ kịch bản nhúng trong HTML, nói một cách đơn giản đó là một trang HTML
có nhúng mã PHP, PHP có thể được đặt rải rác trong HTML.
PHP là một ngơn ngữ lập trình được kết nối chặt chẽ với máy chủ, là một cơng
nghệ phía máy chủ (Server-Side) và không phụ thuộc vào môi trường (crossplatform).
Đây là hai yếu tố rất quan trọng, thứ nhất khi nói cơng nghệ phía máy chủ tức là nói đến

mọi thứ trong PHP đều xảy ra trên máy chủ, thứ hai, chính vì tính chất khơng phụ thuộc
mơi trường cho phép PHP chạy trên hầu hết trên các hệ điều hành như Windows, Unix và
nhiều biến thể của nó... Đặc biệt các mã kịch bản PHP viết trên máy chủ này sẽ làm việc
bình thường trên máy chủ khác mà khơng cần phải chỉnh sửa hoặc chỉnh sửa rất ít.
PHP chạy trên môi trường Webserver và lưu trữ dữ liệu thông qua hệ quản trị cơ
sở dữ liệu nên PHP thường đi kèm với Apache, MySQL….
Apache là một phần mềm web server có nhiệm vụ tiếp nhận request từ trình duyệt
người dùng sau đó chuyển giao cho PHP xử lý và gửi trả lại cho trình duyệt.
MySQL cũng tương tự như các hệ quản trị cơ sở dữ liệu khác (Postgress, Oracle, SQL
server...) đóng vai trị là nơi lưu trữ và truy vấn dữ liệu.
1.3.2 Lý do nên dùng PHP
PHP đượ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.
PHP 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 PHP 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 ln 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.

Sinh Viên: Bùi Quang Tuấn - Lớp: CT1701- Ngành: Công nghệ thông tin

15


PHP 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ập trình
viên chuyên nghiệp, mọi ý tuởng của các PHP có thể đáp ứng một cách xuất sắc. PHP đã
có mặt trên 13 triệu wbstie.
1.3.3. Hoạt động của PHP
Vì PHP là ngơn ngữ của máy chủ nên mã lệnh của PHP sẽ tập trung trên máy chủ để
phục vụ các trang web theo u cầu của người dùng thơng qua trình duyệt.

-

Sơ đồ hoạt động
Yêu cầu URL

Gọi mã kịch bản
Máy chủ

Máy khách

PHP

web
HTML

HTML

Khi người dùng truy cập website viết bằng PHP, máy chủ đọc mã lệnh PHP
và xử lí chúng theo các hướng dẫn được mã hóa. Mã lệnh PHP 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, PHP cũng chính là
một trang HTML nhưng có nhúng mã PHP và có phần mở rộng là HTML. Phần
mở của PHP được đặt trong thẻ mở .Khi trình duyệt truy cập vào một trang
PHP, Server sẽ đọc nội dung file PHP lên và lọc ra các đoạn mã PHP và thực thi
các đoạn mã đó, lấy kết quả nhận được của đoạn mã PHP thay thế vào chỗ ban
đầu của chúng trong file PHP, 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.3.4. Tổng quan về PHP
Cấu trúc cơ bản: PHP cũng có thẻ bắt đầu và kết thúc giống với HTML


Cú pháp chính
<?php Mã lệnh php ?>
Trong PHP để kết thúc 1 dòng lệnh chúng ta sử dụng dấu ";". Để chú thích một đoạn
dữ liệu nào đó trong PHP ta sử dụng dấu "//" cho từng dòng hoặc dùng cặp thẻ "/*
Sinh Viên: Bùi Quang Tuấn - Lớp: CT1701- Ngành: Công nghệ thông tin

16


*/" cho từng cụm mã lệnh.
Ví dụ: <?php echo ”Hello world!”; ?>

Xuất giá trị ra trình duyệt chúng ta có những dịng cú pháp sau:
Echo “Thơng tin”;
Printf “Thơng tin”; Thơng tin bao gồm biến,
chuỗi,hoặc lệnh html….

PHP có các kiểu dữ liệu cơ bản sau:
-

Số nguyên, số thực, chuỗi, Boolean, mảng, đối tượng,resource, NULL/

Một số thành phần chính trong PHP.
-

Biến: Một biến bắt đầu bằng dấu $, theo sau là tên của biến.

-


Tên biến phải bắt đầu bằng một chữ cái hoặc ký tự gạch dưới.

-

Một tên biến không thể bắt đầu bằng một số.

-

Tên biến chỉ có thể chứa các ký tự chữ và số dưới (Az, 0-9 và _).

-

Tên biến là phân biệt chữ hoa chữ thường.

Chuỗi: là một nhóm các kỹ tự, số, khoảng trắng, dấu ngắt được đặt trong các dấu
nháy, ví dụ: ‘Hello’.
Hằng: Một hằng số là một định danh (tên) cho một giá trị đơn giản. Giá trị không thể
thay đổi trong tập lệnh. Để tạo một hằng số, sử dụng define() hàm. Các hằng số được
tự động tồn cầu và có thể được sử dụng trên toàn bộ tập lệnh.

Sinh Viên: Bùi Quang Tuấn - Lớp: CT1701- Ngành: Công nghệ thông tin

17


1.3.5. Hàm trong php
Sức mạnh thực sự của PHP đến từ các Hàm
PHP có hơn 1000 hàm dựng sẵn và ngồi ra, bạn có thể tạo các hàm tùy chỉnh.
Để giảm thời gian lặp lại 1 thao tác code nhiều lần, PHP hỗ trợ người lập trình việc tự
định nghĩa cho mình những hàm có khả năng lặp lại nhiều lần trong website. Việc này

cũng giúp cho người lập trình kiểm soát mã nguồn một cách mạch lạc, đồng thời có thể
tùy biến ở mọi trang mà khơng cần phải khởi tạo hay viết lại mã lệnh như HTML thuần.
Một khai báo hàm do người dùng định nghĩa bắt đầu bằng từ function, tên hàm phải
bắt đầu bằng chữ cái hoặc dấu ngoặc dưới. Tên hàm không phân biệt chữ hoa, chữ
thường.
Tự định nghĩa hàm
Function functionName(){
// Lệnh thực thi;
}

Tự định nghĩa hàm có tham số

Function functionName($giatri1, $giatri2){
// Lệnh thực thi;
}
Tự định nghĩa hàm có giá trị trả về
Function functionName(){
// Lệnh thực thi;
Return giatrij;
}
Sinh Viên: Bùi Quang Tuấn - Lớp: CT1701- Ngành: Công nghệ thông tin

18


Hàm có đối số
Function functionName($giatri = 1){
// Lệnh thực thi;
}


1.3.6. Biểu mẫu PHP
Có 2 phương thức được sử dụng trong lập trình PHP là GET và POST.
-

Phương thức GET: cũng được dùng để lấy dữ liệu từ form nhập liệu. Tuy nhiên
nhiệm vụ chính của nó vẫn là lấy nội dung trang dữ liệu từ web server.

-

Phương thức POST: phương thức này được sử dụng để lấy dữ liệu từ form nhập
liệu và chuyển chúng lên trình chủ webserver.

1.3.7. PHP OOP(Object-Oriented Programming.)
OOP là viết tắt của lập trình hướng đối tượng, là việc tạo các đối tượng
chứa cả hàm và dữ liệu.
Lập trình hướng đối tượng có một số lợi thế so với lập trình thủ tục:
-

OOP nhanh hơn và dễ thực hiện hơn.
OOP cung cấp một cấu trúc rõ ràng cho các chương trình.
OOP giúp giữ mã PHP DRY "Đừng lặp lại chính mình" và làm cho mã dễ dàng
hơn để duy trì, sửa đổi và gỡ lỗi.
OOP cho phép tạo các ứng dụng có thể tái sử dụng đầy đủ với ít mã hơn và thời
gian phát triển ngắn hơn.

1.3.8 Session và Cookie
Cookie và Session là hai phương pháp sử dụng để quản lý các phiên làm việc giữa
người sử dụng và hệ thống.
Cookie và Session là hai phương pháp sử dụng để quản lý các phiên làm việc giữa
người sử dụng và hệ thống.

Sinh Viên: Bùi Quang Tuấn - Lớp: CT1701- Ngành: Công nghệ thông tin

19


Sesstion dùng để lưu giữ liệu trên server, sesstion dùng để lưu trỡ thông tin người
dùng, hoặc lưu trữ tùy chọn cấu hình hệ thống cho người dùng. Tất cả sestion đc lưu trữ
trong biến toàn cục $_SESSTION.
Cookie dùng để lưu trữ các tùy chọn riêng của trang web từng user, nó là file nhỏ đc
chỉ định lưu trên máy tính client và php có thể truy xuất được, cần trình duyệt hỗ trợ chức
năng này. Cookie khơng bị mất khi bị đóng ứng dụng lại, chỉ mất khi hết hạn thời gian
thiết lập. Tất cả cookie được lưu trữ trong biến toàn cục $_COOKIE.
1.3.9. My SQL
Giới thiệu về My SQL
MySQL là một hệ thống quản trị cơ sở dữ liệu mã nguồn mở (Relational Database
Management System, viết tắt là RDBMS) hoạt động theo mơ hình clientserver. RDBMS là một phần mềm hay dịch vụ dùng để tạo và quản lý các cơ sở dữ liệu
(Database) theo hình thức quản lý các mối liên hệ giữa chúng.
MySQL là cơ sở dữ liệu có trình giao diện trên Windows hay Linux, cho phép người
sử dụng có thể thao tác các hành động liên quan đến nó. Việc tìm hiểu từng cơng nghệ
trước khi bắt tay vào việc viết mã kịch bản PHP, việc tích hợp hai cơng nghệ PHP và
MySQL là một cơng việc cần thiết và rất quan trọng.
Mục đính sử dụng cơ sở dữ liệu
Lưu trữ: Lưu trữ trên đĩa và có thể chuyển đổi dữ liệu từ cơ sở dữ liệu này sang cơ sở
dữ liệu khác, nếu sử dụng cho quy mơ nhỏ, có thể chọn cơ sở dữ liệu nhỏ như: Microsoft
Exel, Microsoft Access, MySQL, Microsoft Visual FoxPro,... Nếu ứng dụng có quy mơ
lớn, có thể chọn cơ sở dữ liệu có quy mơ lớn như: Oracle, SQL Server,...
Truy cập: Truy cập dữ liệu phụ thuộc vào mục đích và yêu cầu của người sử dụng, ở
mức độ mang tính cục bộ, truy cập cơ sỏ dữ liệu ngay trong cơ sở dữ liệu với nhau, nhằm
trao đổi hay xử lí dữ liệu ngay bên trong chính nó, nhưng do mục đích và u cầu người
dùng vượt ra ngồi cơ sở dữ liệu, nên cần có các phương thức truy cập dữ liệu giữa các cơ

sở dử liệu với nhau như: Microsoft Access với SQL Server, hay SQL Server và cơ sở dữ
liệu Oracle....
Tổ chức: Tổ chức cơ sở dữ liệu phụ thuộc vào mơ hình cơ sở dữ liệu, phân tích và thiết
kế cơ sở dữ liệu tức là tổ chức cơ sở dữ liệu phụ thuộc vào đặc điểm riêng của từng ứng
dụng. Tuy nhiên khi tổ chức cơ sở dữ liệu cần phải tuân theo một số tiêu chuẩn của hệ
thống cơ sở dữ liệu nhằm tăng tính tối ưu khi truy cập và xử lí.
Sinh Viên: Bùi Quang Tuấn - Lớp: CT1701- Ngành: Công nghệ thông tin

20


Xử lí: Tùy vào nhu cầu tính tốn và truy vấn cơ sở dữ liệu với các mục đích khác
nhau, cần phải sử dụng các phát biểu truy vấn cùng các phép toán, phát biểu của cơ sở dữ
liệu để xuất ra kết quả như yêu cầu. Để thao tác hay xử lí dữ liệu bên trong chính cơ sở
dữ liệu ta sử dụng các ngơn ngữ lập trình như: PHP, C++, Java, Visual Basic,..

1.4 Tổng quan về framework Yii 2
1.4.1 Giới thiệu về Yii 2
Yii là một PHP Framework mã nguồn mở và hồn tồn miễn phí, có hiệu năng xử lý
cao, phát triển tốt nhất trên để tăng tốc độ viết các ứng dụng web 2.0, sử dụng tối đa các
thành phần(component-based PHP framework) ứng dụng. Tên Yii(được phát âm là Yê
hoặc [ji:]) Ở Trung Quốc có nghĩa là “thật đơn giản và luôn phát triển”(Hán tự "易", âm
“dịch”). Nghĩa thứ hai có thể đọc ngắn gọn là Yes It Is.
Yii, nói chung, là một framework phát triển ứng dụng Web nên có thể dùng để viết
mọi loại ứng dụng Web và sử dụng ngơn ngữ lập trình PHP. Yii rất nhẹ và được trang bị
giải pháp cache tối ưu nên đặc biệt hữu dụng cho ứng dụng web có dung lượng dữ liệu
trên đường truyền lớn như web portal, forum, CMS, e-commerce, các dự án thương mại
điện tử và các dịch vụ Web RESTful.
Giống như những PHP frameworks khác, Yii sử dụng mơ hình MVC (Model-ViewController) tổ chức code một cách hợp lý và có hệ thống.
Yii tạo ra code đơn giản và thanh lịch, đây là triết lý trong chương trình. Yii sẽ khơng

bao giờ cố gắng tạo ra những mấu thiết kế quá an toàn và ít có sự thay đổi.
Yii rất dễ mở rộng. Bạn có thể tùy chình hoặc thay thế bất kỳ một trong những bộ
code chuẩn. Bạn cũng có thể tận dụng lợi thế của kiến trúc mở rộng chuẩn Yii để sử dụng
hoặc phát triển mở rộng phân phối.
1.4.2 Một số thành phần chính
Controller thuộc một phần trong mẫu thiết kế MVC. Controller là đối tượng được kế
thừa từ class yii\base\Controller và chịu trách nhiệm xứ lý các yêu cầu và gửi phản hồi .
Đặc biệt, sau khi tiếp nhận các yêu cầu điều khiển từ ứng dụng, controllers sẽ phân tích
thơng tin u cầu được gửi đến, gửi dữ liệu qua models để xử lý, và gán kết quả xử lý từ
model vào views, và cuối cùng là gửi phản hồi.

Sinh Viên: Bùi Quang Tuấn - Lớp: CT1701- Ngành: Công nghệ thông tin

21


Mỗi Controller đều chứa các action để user có thế tìm thấy, gửi yêu cầu tới ứng dụng
để xử lý . Mỗi controller có thể có nhiều action.
Tạo mới một Action khá là đơn giản, bằng chỉ việc định nghĩa trong lớp Controller
cùng với tên action phương thức. Các phương thức của mỗi Action đều có phạm vi tồn
cục tên của phương thức được bắt đầu bằng từ action.
Model là phần trong mơ hình MVC. Là đối tượng đại diện cho phần dữ liệu, phương
thức xử lý và nghiệp vụ logic.
Views là phần trong mơ hình MVC. Chịu trách nhiệm chính trong việc hiển thị dữ
liệu tới người dùng. Một view đơn giản là một kịch bản PHP chưa hỗn hợp các mã
HTML và PHP.
Assets là một file có thể tham chiếu đến trang web, Nó có thể là file css, javaScript,
file Hình ảnh hoặc video…. Các tài sản được đặt trong các thư mục có thể truy cập web
và được phục vụ trực tiếp với các máy chủ web.


Hình 2 Mơ hình MVC

Giải thích về mơ hình MVC
-

Giữa Client và Database có mơ hình MVC.
Khi người dùng gõ từ khóa trên trình duyệt chính là lúc tác động lên Controller,
khi đó giữa Controller và database sẽ làm một hàm được gọi trong Model, Model
sẽ lấy giữ liệu từ cơ sở dữ liệu, trả dữ liệu về Model, và trả ngược lại Controller,
và trả ngược lại Client thông qua View. View chính là kết quả nhìn thấy.

Sinh Viên: Bùi Quang Tuấn - Lớp: CT1701- Ngành: Công nghệ thông tin

22


-

Model là kho tạo ra những hàm gọi ra từ cơ sở dữ liệu, sau đó trả về Controller và
trả về View.

-

View và Model không liên quan đến nhau, View chỉ được gọi hàm liên quan đến
truy vấn dữ liệu thông qua Controller.

-

Một số hàm thông dụng findOne(), findAll(), delete(), deleteALL(), redirect(),
where(), andFilterWhere, orderBy().


1.4.3. Routing and URL Creation
Đường dẫn URL mặc định sử dụng tham số r để thể hiện tuyến đường và các tham số
truy vấn thông thường để biểu thị các tham số truy vấn được liên kết với đường dẫn.
Ví dụ đường dẫn trong đề tài:
http://localhost/my-web/quan-ly/?r=bai-viet
my-web là tên project, quan-ly là tên thư mục, bai-viet là BaiVietController.php nằm
trong thư mục backend/controllers. Đường dẫn này truy cập đến danh mục bài viết thuộc
backend dùng để quản lý bài viết
http://localhost/my-web/index.php?r=site%2Fbai-viet&path=gioi-thieu
Index.php là file chứa các đường dẫn tới tác mục thuộc front-end, site%2Fbai-viet là
đường dẫn site/bai-viet, path =gioi-thieu là danh mục giới thiệu bằng tham số path.

Sinh Viên: Bùi Quang Tuấn - Lớp: CT1701- Ngành: Công nghệ thông tin

23


CHƯƠNG 2 . THIẾT KẾ BACK-END, FRONT-END
2.1 Phân tích thiết kế hệ thống
Phát biểu bài toán
Trường Cao Đẳng Du Lịch Hải Phịng là trường cơng lập trực thuộc Bộ Văn hóa, Thể
thao và Du lịch. Theo định hướng quy hoạch cơ sở giáo dục nghề nghiệp và điều chỉnh
ngành nghề trọng điểm, Nhà trường được phép đào tạo 6 ngành nghề trọng điểm quốc gia
bao gồm: Quản trị nhà hàng, Quản trị khách sạn, Quản trị lễ tân, Quản trị lữ hành, Hướng
dẫn du lịch và Quản trị chế biến món ăn.
Website cần có logo của trường, có các danh mục menu được sắp xếp theo hàng
ngang ngay sau logo của trường. Nhà trường cần đưa thông tin các ảnh nổi bật được hiển
thị bằng Slider, và những bài viết nổi bật mà nhà trường muốn đưa lên. Nhà trường cần
đưa thông tin các bài viết được cập nhập liên tục lên website. Mỗi bài viết thuộc danh

mục khác nhau. Có bài viết giới thiệu về trường, Các bài viết về tin tức của nhà trường,
các bài viết truyển sinh, các bài viết dành cho các hoạt động của các bạn sinh viên, các
bài viết giới thiệu việc làm dành cho sinh viên. Các bài viết Cảm nhận HTC nơi chia sẻ
cảm nhận của các thầy cô, sinh viên và cựu sinh viên. Các bài viết của đối tác là những
bức ảnh đại diện cho đối tác với nhà trường.
Đối với một trường học thì việc xây dựng website riêng càng ngày trở nên cấp thiết.
Thông qua những website này, thông tin về nhà trường cũng như các công văn, thông
báo, quyết định của nhà trường hay các bài viết, tin tức mới sẽ đến với các bạn sinh viên,
hoặc đến với người dùng một cách nhanh chóng kịp thời, tránh những phiền hà mà giao
tiếp truyền thông gặp phải.

Sinh Viên: Bùi Quang Tuấn - Lớp: CT1701- Ngành: Công nghệ thông tin

24


Xây dựng biểu đồ ngữ cảnh của hệ thống

KHÁCH
HÀNG

Thông tin bài viết

0

Thông tin ảnh slider
Thông tin danh mục
Thông tin từ khóa

HỆ THỐNG

QUẢN LÝ
WEBSITE

Thơng tin tìm kiếm

Bài viết cần đăng

NGƯỜI QUẢN
TRỊ

Thơng tin xác nhận đăng bài viết
Ảnh slider cần đăng
Thông tin xác nhận đăng ảnh slider
Danh mục cần đăng
Thông tin xác nhận đăng danh mục
Từ khóa cần đăng
Thơng tin xác nhận đăng từ khóa
Người dùng cần đăng
Thơng tin xác nhận đăng người dùng

Sinh Viên: Bùi Quang Tuấn - Lớp: CT1701- Ngành: Công nghệ thông tin

25


×