1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên cứu Joomla và xây dựng website tin tức khoa công nghệ thông tin theo mô hình MVC Joomla

129 1,1K 4
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 129
Dung lượng 3,39 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Để cóđược kết quả như hôm nay, nhóm thực hiện đề tài đã nhận được rất nhiều sự quan tâm,giúp đỡ và chỉ đạo nhiệt tình của các thầy, cô trong khoa công nghệ thông tin.. Nhóm thực hiện đề

Trang 1

MỤC LỤC

NHẬN XÉT GIẢNG VIÊN HƯỚNG DẪN 1

NHẬN XÉT GIẢNG VIÊN HƯỚNG DẪN 2

NHẬN XÉT GIẢNG VIÊN HƯỚNG DẪN 3

NHẬN XÉT GIẢNG VIÊN HƯỚNG DẪN 3

MỤC LỤC 3

DANH MỤC CÁC BẢNG 3

DANH MỤC CÁC HÌNH VẼ 3

LỜI CẢM ƠN 3

PHẦN I: MỞ ĐẦU 3

1 Lý do chọn đề tài 3

2 Đối tượng nghiên cứu 3

3 Giới hạn và phạm vi nghiên cứu 3

4 Mục đích nghiên cứu 3

5 Nhiệm vụ nghiên cứu 3

6 Phương pháp nghiên cứu 3

7 Ý nghĩa lý luận và thực tiễn của đề tài 3

Trang 2

PHẦN II: NỘI DUNG 3

I TÌM HIỂU CÔNG NGHỆ 3

Chương 1: Tổng quan về lập trình PHP cơ bản 3

1 Tổng quan về PHP 3

1.1 Giới thiệu PHP 3

1.2 Đặc điểm của PHP trong lập trình web 3

1.3 Quy trình hoạt động 3

2 Cú pháp cơ bản trong PHP 3

2.1 Cấu trúc cơ bản 3

2.2 Xuất giá trị ra trình duyệt 3

2.3 Biến, hằng, chuỗi và các giá trị 3

2.4 Kiểu dữ liệu trong PHP 3

2.5 Các toán tử trong PHP 3

2.6 Các biểu thức cơ bản trong PHP 3

3 Hàm trong PHP 3

3.1 Quy tắc xây dựng hàm 3

3.2 Biến toàn cục và biến cục bộ 3

3.3 Cookie và Session 3

3.4 Lớp và đối tượng 3

3.5 Tham chiếu 3

Chương 2: Tổng quan về MySQL 3

1 Hệ cơ sở dữ liệu MySQL 3

1.1 Giới thiệu về MySQL 3

1.2 Các đặc tính của MySQL 3

2 Các câu lệnh được sử dụng trong MySQL 3

2.1 Tạo cơ sở dữ liệu và bảng 3

2.2 Các câu lệnh thêm, sửa, xóa dữ liệu 3

2.3 Truy xuất dữ liệu với câu lệnh SELECT 3

3 Kết hợp PHP và MySQL trong ứng dụng Website 3

3.1 Kết nối CSDL 3

3.2 Lựa chọn CSDL 3

3.3 Thực thi câu lệnh truy vấn 3

3.4 Lấy dữ liệu từ bảng vào mảng 3

Trang 3

3.5 Đóng kết nối CSDL 3

Chương 3: Joomla và ứng dụng mô hình MVC Joomla 3

1 Tổng quan về Joomla 3

1.1 Giới thiệu về Joomla 3

1.2 Kiến trúc Joomla 3

1.3 Tổ chức thư mục trong Joomla 3

1.4 Quản lý bài viết trong Joomla 3

1.5 Quản lý menu trong Joomla 3

1.6 Quản lý Templates trong Joomla 3

1.7 Quản lý ngôn ngữ 3

1.8 Quản lý Module 3

1.9 Quản lý Component 3

2 Thành phần mở rộng trong Joomla 3

2.1 Stalker_ Module mạng xã hội 3

2.2 Acajoom_Gửi thư theo danh sách 3

2.3 Community_ Component mạng xã hội 3

2.4 Expose Flash Gallery_Tạo album hình ảnh 3

2.5 Virtuemart_Bán hàng trực tuyến 3

2.6 JComments_Module truyền thông 3

2.7 Jumi_Nền tảng cho các module 3

2.8 Phoca Google Adsense Easy_Module Google Adsense 3

2.9 Joomla Pach_Sao lưu trang web 3

2.10 JCE_Trình biên tập WYSIWYG 3

3 Ứng dụng mô hình MVC Joomla 3

3.1 MVC là gì? 3

3.2 Kiến trúc của mô hình MVC 3

3.3 Sự tương tác trong MVC 3

3.3 Cấu trúc tổ chức thư mục của MVC component 3

II PHÂN TÍCH THIẾT KẾ HỆ THỐNG 3

Chương 1: Khảo sát, xác định yêu cầu và phân tích hệ thống 3

1 Khảo sát hệ thống 3

2 Xác định yêu cầu hệ thống 3

3 Phân tích yêu cầu hệ thống 3

Chương 2: Phân tích thiết kế hệ thống theo UML 3

Trang 4

1 Các chức năng chính của hệ thống 3

1.1 Quản trị hệ thống 3

1.2 Cập nhật 3

1.3 Quản lý 3

1.4 Tìm kiếm 3

1.5 Thống kê 3

2 Các chức năng đã có trong Joomla 3

3 Các chức năng cần có cho “Website tin tức của trường ĐHSPKT Hưng Yên” 3

4 Biểu đồ usercase 3

4.1 Danh sách các Actor 3

4.2 Danh sách các Usercase 3

4.3 Vẽ biểu đồ Usercase 3

4.3.1 Usercase hệ thống 3

4.3.2 Usercase quản trị hệ thống 3

4.3.3 Usercase cập nhật 3

4.3.4 Usercase quản lý 3

4.3.5 Usercase Thống kê 3

5 Biểu đồ tuần tự 3

5.1 Biểu đồ tuần tự cho chức năng hệ thống 3

5.2 Biểu đồ tuần tự cho chức năng cập nhật 3

5.2.1 Biểu đồ tuần tự cho chức năng cập nhật tin tức, chuyên mục, banner 3

5.2.2 Biểu đồ tuần tự cho chức năng cập nhật phản hồi 3

5.3 Biểu đồ tuần tự cho chức năng quản lý 3

5.3.1 Biểu đồ tuần tự cho chức năng quản lý giảng viên, điểm cho sinh viên 3

5.3.2 Biểu đồ tuần tự cho chức năng quản lý văn bản, tài liệu học và phần mềm,lịch công tác, thời gian làm việc 3

5.4 Biểu đồ tuần tự cho chức năng tìm kiếm 3

5.5 Biểu đồ tuần tự cho chức năng thống kê 3

6 Biểu đồ lớp 3

6.1 Danh sách các lớp đã có trong joomla 3

6.1.1 Lớp “User”_Người dùng 3

6.1.2 Lớp “UserGroup”_Nhóm 3

6.1.3 Lớp “User_ UserGroup”_Người dùng- nhóm 3

6.1.4 Lớp “Banner”_ Banner 3

Trang 5

6.1.5 Lớp “Categories”_ Chuyên mục 3

6.1.6 Lớp “Content”_Nội dung tin tức 3

6.1.7 Lớp “Content_Frontpage”_Nội dung trang đầu tin tức 3

6.1.8 Lớp “Content_Rating”_đánh giá tin tức 3

6.1.9 Lớp “Newfeeds”-phản hồi 3

6.1.10 Lớp “Menu”-Menu 3

6.2 Danh sách các lớp mới có trong Website 3

6.2.1 Lớp “Text”_văn bản 3

6.2.2 Lớp “Books”_Tài liệu học 3

6.2.3 Lớp “BookType”_Loại tài liệu học 3

6.2.4 Lớp “Software”_Phần mềm 3

6.2.5 Lớp “Staff”-Cán bộ, giảng viên 3

6.2.6 Lớp “Score”-Điểm 3

6.2.7 Lớp “Schedule”-Lịch công tác 3

6.2.8 Lớp “Timetable”-thời gian làm việc 3

6.3 Biểu đồ lớp tổng quát 3

Chương 3: Phân tích thiết kế Cơ sở dữ liệu 3

Chương 4: Phân tích thiết kế giao diện 3

4.1 Giao diện trang chủ 3

4.2 Giao diện module hiển thị các hình ảnh nổi bật 3

4.3 Giao diện module chứa các menu chính 3

4.4 Giao diện module tin gần đây 3

4.5 Giao diện trang module liên kết với các trang web tin tức khac 3

4.6 Giao diện module chứa video 3

4.7 Giao diện module chứa các mục chính của trang tin tức 3

4.8 Giao diện module chứa các liên kết với trường 3

PHẦN III: KẾT LUẬN 3

1 Thực nghiệm 3

2 Kết quả đạt được của đề tài 3

3 Hạn chế 3

4 Hướng phát triển 3

Trang 6

PHẦN IV: TÀI LIỆU THAM KHẢO 3

Trang 7

DANH MỤC CÁC BẢN

BẢNG 1: KIỂU DỮ LIỆU TRONG PHP 3

BẢNG 2: CÁC TOÁN TỬ SỐ HỌC TRONG PHP 3

BẢNG 3: CÁC TOÁN TỬ SO SÁNH TRONG PHP 3

BẢNG 4: CÁC TOÁN TỬ LOGIC TRONG PHP 3

BẢNG 5: CÁC TOÁN TỬ KẾT HỢP TRONG PHP 3

BẢNG 6: DANH SÁCH CÁC ACTOR 3

BẢNG 7: DANH SÁCH CÁC USERCASE 3

BẢNG 8: ĐẶC TẢ USERCASE QUẢN LÝ NGƯỜI DÙNG 3

BẢNG 9: ĐẶC TẢ USERCASE QUẢN LÝ NHÓM 3

BẢNG 10: ĐẶC TẢ USERCASE QUẢN LÝ CHUYÊN MỤC 3

BẢNG 11: ĐẶC TẢ USECASE QUẢN LÝ BÀI VIẾT 3

BẢNG 12 : ĐẶC TẢ USERCASE QUẢN LÝ BANNER 3

BẢNG 13 : ĐẶC TẢ USERCASE CẬP NHẬT PHẢN HỒI 3

BẢNG 14: ĐẶC TẢ USERCASE QUẢN LÝ VĂN BẢN 3

Trang 8

BẢNG 15: ĐẶC TẢ USERCASE QUẢN LÝ TÀI LIỆU HỌC 3

BẢNG 16: ĐẶC TẢ USERCASE QUẢN LÝ PHẦN MỀM 3

BẢNG 17: ĐẶC TẢ USERCASE QUẢN LÝ LỊCH CÔNG TÁC 3

BẢNG 18: ĐẶC TẢ USERCASE QUẢN LÝ THỜI GIAN LÀM VIỆC 3

BẢNG 19: ĐẶC TẢ USERCASE QUẢN LÝ ĐIỂM CHO SINH VIÊN 3

BẢNG 20: ĐẶC TẢ USERCASE QUẢN LÝ CÁN BỘ 3

BẢNG 21: ĐẶC TẢ USERCASE THỐNG KÊ 3

BẢNG 22:DANH SÁCH THUỘC TÍNH BẢNG “USER” 3

BẢNG 23:DANH SÁCH PHƯƠNG THỨC BẢNG “USER” 3

BẢNG 24:DANH SÁCH THUỘC TÍNH BẢNG “USERGROUP” 3

BẢNG 25:DANH SÁCH PHƯƠNG THỨC BẢNG “USERGROUP” 3

BẢNG 26:DANH SÁCH THUỘC TÍNH BẢNG “USER_ USERGROUP” 3

BẢNG 27:DANH SÁCH THUỘC TÍNH BẢNG “BANNER” 3

BẢNG 28:DANH SÁCH PHƯƠNG THỨC BẢNG “BANNER” 3

BẢNG 29:DANH SÁCH THUỘC TÍNH BẢNG “CATEGORIES” 3

BẢNG 30:DANH SÁCH PHƯƠNG THỨC BẢNG “CATEGORIES” 3

BẢNG 31:DANH SÁCH THUỘC TÍNH BẢNG “CONTENT” 3

Trang 9

BẢNG 32:DANH SÁCH PHƯƠNG THỨC BẢNG “CONTENT” 3

BẢNG 33: DANH SÁCH THUỘC TÍNH BẢNG “CONTENT_FRONTPAGE” 3

BẢNG 34:DANH SÁCH PHƯƠNG THỨC BẢNG “CONTENT_FRONTPAGE” 3

BẢNG 37:DANH SÁCH THUỘC TÍNH BẢNG “NEWFEEDS” 3

BẢNG 38:DANH SÁCH PHƯƠNG THỨC BẢNG “NEWFEEDS” 3

BẢNG 47:DANH SÁCH THUỘC TÍNH BẢNG “SOFTWARE” 3

BẢNG 48:DANH SÁCH PHƯƠNG THỨC BẢNG “SOFTWARE” 3

BẢNG 49:DANH SÁCH THUỘC TÍNH BẢNG “STAFF” 3

BẢNG 50:DANH SÁCH PHƯƠNG THỨC BẢNG “STAFF” 3

BẢNG 51:DANH SÁCH THUỘC TÍNH BẢNG “SCORE” 3

BẢNG 52:DANH SÁCH PHƯƠNG THỨC BẢNG “SCORE” 3

BẢNG 53:DANH SÁCH THUỘC TÍNH BẢNG “SCHEDULE” 3

BẢNG 54:DANH SÁCH PHƯƠNG THỨC BẢNG “SCHEDULE” 3

BẢNG 55:DANH SÁCH THUỘC TÍNH BẢNG “TIMETABLE” 3

BẢNG 56:DANH SÁCH PHƯƠNG THỨC BẢNG “TIMETABLE” 3

BẢNG 57: THIẾT KẾ CƠ SỞ DỮ LIỆU 3

Trang 10

DANH MỤC CÁC HÌNH V

HÌNH 1: KIẾN TRÚC CỦA PHP 3

HÌNH 2: KIẾN TRÚC JOOMLA 3

HÌNH 3: TỔ CHỨC CÂY THƯ MỤC TRONG JOOMLA 3

HÌNH 4: HÌNH ẢNH CATEGORY MANAGER TRONG JOOMLA 3

HÌNH 5: HÌNH ẢNH ARTICLE MANAGER TRONG JOOMLA 3

HÌNH 6: HÌNH ẢNH MENU TRONG JOOMLA 3

HÌNH 7: HÌNH ẢNH QUẢN LÝ TEMPLATE TRONG JOOMLA 3

HÌNH 8: HÌNH ẢNH QUẢN TRỊ CÁC MODULE TRONG JOOMLA 3

HÌNH 9: HÌNH ẢNH QUẢN LÝ COMPONENT TRONG JOOMLA 3

HÌNH 10: HÌNH ẢNH CÁC COMPONENT MẶC ĐỊNH TRONG JOOMLA 3

HÌNH 11: STALKER_MODULE MẠNG XÃ HỘI 3

HÌNH 12: ACAJOOM_GỬI THƯ THEO DANH SÁCH 3

HÌNH 13: COMMUNITY_COMPONENT MẠNG XÃ HỘI 3

HÌNH 14: EXPOSE FLASH GALLERY_TẠO ALBUM HÌNH ẢNH 3

Trang 11

HÌNH 15: VIRTUEMART_BÁN HÀNG TRỰC TUYẾN 3

HÌNH 16: JCOMMENT_MODULE TRUYỀN THÔNG 3

HÌNH 17: JUMI_NỀN TẢNG CHO CÁC MODULE 3

HÌNH 18: PHOCA GOOGLE ADSENSE EASY_ MODULE GOOGLE ADSENSE 3

HÌNH 19: JOOMLA PACH_SAO LƯU TRANG WEB 3

HÌNH 20:JCE_TRÌNH BIÊN TẬP WYSIWYG 3

HÌNH 21: LỚP VIEW 3

HÌNH 22: KIẾN TRÚC MÔ HÌNH MVC 3

HÌNH 23: TƯƠNG TÁC TRONG MÔ HÌNH MVC 3

HÌNH 24: VÍ DỤ VỀ COMPONENT ĐƠN GIẢN 3

HÌNH 25: BIỂU ĐỒ USERCASE HỆ THỐNG 3

HÌNH 26: BIỂU ĐỒ USECASE QUẢN TRỊ HỆ THỐNG 3

HÌNH 27: BIỂU ĐỒ PHÂN RÃ CHO CHỨC NĂNG USECASE QUẢN LÝ NGƯỜI DÙNG 3

HÌNH 28: BIỂU ĐỒ PHÂN RÃ CHO CHỨC NĂNG QUẢN LÝ NHÓM QUYỀN 3

HÌNH 29: BIỂU ĐỒ USECASE CHO CHỨC NĂNG CẬP NHẬT 3

HÌNH 30: BIỂU ĐỒ PHÂN RÃ CHỨC NĂNG CHO USERCASE “CẬP NHẬT CHUYÊN MỤC” 3

Trang 12

HÌNH 31: BIỂU ĐỒ PHÂN RÃ CHỨC NĂNG CHO USERCASE “CẬP NHẬT BÀI VIẾT” 3

HÌNH 32: BIỂU ĐỒ PHÂN RÃ CHỨC NĂNG CHO USERCASE “CẬP NHẬT BANNER” 3

HÌNH 33: BIỂU ĐỒ PHÂN RÃ CHO USECASE CẬP NHẬT PHẢN HỒI 3

HÌNH 34 BIỂU ĐỒ USECASE CHO CHỨC NĂNG QUẢN LÝ 3

HÌNH 35:BIỂU ĐỒ PHÂN RÃ CHỨC NĂNG CHO USERCASE QUẢN LÝ VĂN BẢN 3

HÌNH 36:BIỂU ĐỒ PHÂN RÃ CHỨC NĂNG CHO USERCASE QUẢN LÝ TÀI LIỆU HỌC3 HÌNH 37:BIỂU ĐỒ PHÂN RÃ CHỨC NĂNG CHO USERCASE QUẢN LÝ PHẦN MỀM 3

HÌNH 38: BIỂU ĐỒ PHÂN RÃ CHO CHỨC NĂNG USECASE QUẢN LÝ CÔNG TÁC CHO CÁN BỘ, GIẢNG VIÊN 3

HÌNH 39: BIỂU ĐỒ PHÂN RÃ CHO CHỨC NĂNG USECASE QUẢN LÝ THỜI GIAN LÀM VIỆC 3

HÌNH 40: BIỂU ĐỒ PHÂN RÃ CHO CHỨC NĂNG USECASE QUẢN LÝ ĐIỂM 3

HÌNH 41:BIỂU ĐỒ PHÂN RÃ CHỨC NĂNG CHO USERCASE QUẢN LÝ CÁN BỘ 3

HÌNH 42:BIỂU ĐỒ USERCASE THỐNG KÊ 3

HÌNH 43: BIỂU ĐỒ TUẦN TỰ CHO CHỨC NĂNG HỆ THỐNG 3

HÌNH 44: BIỂU ĐỒ TUẦN TỰ CHO CHỨC NĂNG CẬP NHẬT TIN TỨC, CHUYÊN MỤC, BANNER 3

HÌNH 45: BIỂU ĐỒ TUẦN TỰ CHO CHỨC NĂNG CẬP NHẬT Ý KIẾN PHẢN HỒI 3

Trang 13

HÌNH 46: BIỂU ĐỒ TUẦN TỰ CHO CHỨC NĂNG QUẢN LÝ GIẢNG VIÊN 3

HÌNH 47: BIỂU ĐỒ TUẦN TỰ CHO CHỨC NĂNG QUẢN LÝ VĂN BẢN, TÀI LIỆU HỌC, PHẦN MỀM, LỊCH CÔNG TÁC VÀ THỜI GIAN LÀM VIỆC 3

HÌNH 48: BIỂU ĐỒ TUẦN TỰ TÌM KIẾM 3

HÌNH 49: BIỂU ĐỒ TUẦN TỰ THỐNG KÊ 3

HÌNH 51: GIAO DIỆN TRANG CHỦ 3

HÌNH 52: GIAO DIỆN MODULE HIỂN THỊ CÁC HÌNH ẢNH NỔI BẬT 3

HÌNH 53: GIAO DIỆN MODULE CHỨA CÁC MENU CHÍNH 3

HÌNH 54: GIAO DIỆN MODULE TIN TỨC GẦN ĐÂY 3

HÌNH 55: GIAO DIỆN MODULE TRANG LIÊN KẾT 3

HÌNH 56: GIAO DIỆN MODULE CHỨA VIDEO 3

HÌNH 57: GIAO DIỆN SAU KHI CLICK VÀO VIDEO 3

HÌNH 58: GIAO DIỆN MODULE CHỨA CÁC MỤC CHÍNH CỦA TRANG TIN TỨC 3

HÌNH 59: GIAO DIỆN MODULE CHỨA CÁC LIÊN KẾT VỚI TRƯỜNG 3

Trang 14

LỜI CẢM ƠN

Sau thời gian thực hiện làm đề tàiđến nay nhóm đã hoàn thành đề tài của mình Để cóđược kết quả như hôm nay, nhóm thực hiện đề tài đã nhận được rất nhiều sự quan tâm,giúp đỡ và chỉ đạo nhiệt tình của các thầy, cô trong khoa công nghệ thông tin

Đặc biệt nhóm thực hiện đề tài xin gửi lời cảm ơn chân thành nhất tới thầy “Lê Quang Lợi” Thầy là người đã tận tình chỉ bảo, chia sẻ cho nhóm những kiến thức bổ ích

hướng dẫn động viên trong suốt thời gian qua, tạo mọi điều kiện tốt nhất cho nhóm trongquá trình thực hiện

Mặc dù nhóm thực hiện đề tài đã rất cố gắng trong quá trình làm đề tài song đề tài củanhóm không thể tránh khỏi những thiếu sót, hạn chế Nhóm thực hiện đề tài rất mongnhận được sự đóng góp chân thành từ các thầy, cô và các bạn để đề tài của nhóm đượchoàn thiện hơn

Nhóm thực hiện đề tài xin chân thành cảm ơn!

Hưng Yên, ngày 27 tháng 11 năm 2014

Sinh viên thực hiện

Nguyễn Thị Như

Nguyễn Thị Thuỷ

Trang 15

PHẦN I: MỞ ĐẦU

1 Lý do chọn đề tài

 Tìm hiểu công nghệ là hành trang tốt nhất để chuẩn bị kiến thức cho chúng em saukhi ra trường Joomla được viết bằng ngôn ngữ PHP, kết nối cơ sở dữ liệu MYSQLcho phép người sử dụng có thể xuất bản nội dung của họ lên Internet Ứng dụngcủa Joomla là tạo ra giao diện thân thiện, hiệu ứng đẹp cho các trang web Để phục

vụ quá trình nghiên cứu và phát triển mô hình MVC Joomla nhóm đã ứng dụng mô

hình này vào quá trình xây dựng đề tài : “Nghiên cứu Joomla và xây dựng website tin tức khoa công nghệ thông tin theo mô hình MVC Joomla”.

 Qua quá trình tìm hiểu chúng em đã hoàn thành bản báo cáo với nội dung sau:Phần I: Mở đầu

Phần II: Nội dung

I Tìm hiểu công nghệ

 Chương 1: Tổng quan về PHP

 Chương 2: Tìm hiểu về MySQL

 Chương 3:Joomla và ứng dụng MVC trong Joomla

II Phân tích thiết kế hệ thống

 Chương 1: Khảo sát, xác định yêu cầu và phân tích hệ thống

 Chương 2: Phân tích thiết kế hệ thống theo UML

 Chương 3: Phân tích thiết kế CSDL

 Chương 4: Thiết kế và mô tả giao diện của hệ thốngPhần III: Kết luận

Phần IV: Tài liệu tham khảo

Trang 16

2 Đối tượng nghiên cứu

 Ngôn ngữ lập trình PHP, ứng dụng mô hình MVC Joomla, hệ cơ sở dữliệuMySQL

Website Tin tức của khoa CNTT trường Đại học sư phạm kĩ thuật Hưng Yên

Công cụ xây dựng phần mềm: Visual Studio 2008, WampServer2.0c, Joomla 1.6.3

3 Giới hạn và phạm vi nghiên cứu

Tìm hiểu ngôn ngữ lập trìnhPHP ứng dụng MVC Joomla và xây dựng website tin tứckhoa CNTT trường Đại học sư phạm kĩ thuật Hưng Yên

4 Mục đích nghiên cứu

Xây dựng tài liệu giúp tìm hiểu về ngôn ngữ lập trình PHP ứng dụng MVC Joomla

Xây dựngWebsite tin tức khoa CNTT trường Đại học sư phạm kĩ thuật Hưng Yên

5 Nhiệm vụ nghiên cứu

Tìm hiểu và nghiên cứu ngôn ngữ lập trình PHP, Joomla và mô hình MVC Joomla,

6 Phương pháp nghiên cứu

Tìm hiểu hết tổng hợp kiến thức chung của PHP, MySQL, Joomla

Nghiên cứu sâu vào những kiến thức cụ thể về Joomla và ứng dụng MVC Joomla

để xây dựng Website tin tức khoa CNT

7 Ý nghĩa lý luận và thực tiễn của đề tài

Qua việc tìm hiểu đã giúp em biết thêm kiến thức một ngôn ngữ lập trình mới vớinhiều tính năng nổi trội để xây dựng một trang Web

Xây dựng website tin tức khoa công nghệ thông tin trường ĐHSPKT Hưng Yên

Trang 17

Đề tài này sẽ tiếp tục phát triển lên đồ án tốt nghiệp.

PHẦN II: NỘI DUNG

Chương 1: Tổng quan về lập trình PHP cơ bản

1 Tổng quan về PHP

I.1 Giới thiệu PHP

 PHPviết tắt của từ Personal Home Page

 PHP là một ngôn ngữ lập trình kịch bản trên Server được dùng để phát triển các ứngdụng viết cho máy chủ, mã nguồn mở

 Cú pháp của ngôn ngữ lập trình PHP giống cú pháp của C và Java

I.2 Đặc điểm của PHP trong lập trình web

 Tốc độ nhanh, dễ sử dụng: PHP cung cấp các tính năng mạnh mẽ để thực hiện ứngdụng Web một cách nhanh chóng

 Chạy trên nhiều điều hành: PHP có thể chạy trên nhiều điều hành như:WindowsNT/2000/2003, Unix với sự hỗ trợ của IIS và Apache, Netscape, Roxen…

 Truy cập bất kì loại CSDL nào hiện nay như: SQL Server, Ms Access, MySQL,mSQL, Oracel, PostgreSQL, InterBase, Sysbase

 Luôn được cải tiến và cập nhật: PHP đã được cải tiến từ PHP đầu tiên năm 1995đến nay đã cho ra đời đến PHP 6 PHP4 được phổ biến rộng rãi, nó giúp cho việc bổsung số lượng lớn các hàm chức năng một cách dễ dàng

Trang 18

I.3 Quy trình hoạt động

 Cách 3: Cú pháp giống với ASP: <% Mã lệnh PHP %>

 Cách 4: Cú pháp bắt đầu bằng script: <script language=php>

2.2 Xuất giá trị ra trình duyệt

Để xuất dữ liệu 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";

Trang 19

Trong đó thông tin bao gồm : biến, chuỗi, hoặc lệnh HTML ….

Ví dụ minh họa:

<?php

Echo “Hello word”

Printf “<br><font color=red> Xin chào </font>”;

 Một biến là hợp lệ khi thỏa mãn các yếu tố :

 Tên của biến phải bắt đầu bằng dấu gạch dưới và theo sau là các ký tự

 Tên của biến không được phép trùng với các từ khóa của PHP

 Một số biến đã được tạo sẵn

 Argv: Mảng tham số truyền cho script Khi đoạn script chạy bằng dòng lệnh tham

số này sẽ được dùng giống như C để truy nhập các tham số trên dòng lệnh

 Argc : số các tham số được truyền Dùnggiống với Argv;

 PHP_SELF : tên của đoạn mã script đang thực hiện Nếu PHP đang được chạy từdòng lệnh thì tham số này không có giá trị

 HTTP_COOKIE_VARS: một mảng các giá trị được truyền tới script hiện tạibằng HTTP cookie Chỉ có tác dụng nếu "track_vars" trong cấu hình được đặthoặc chỉ dẫn <?php_track_vars?>

Trang 20

 HTTP_GET_VARS: Mảng các giá trị truyền tới script thông qua phương thứcHTTP GET Chỉ có tác dụng nếu "track_vars" trong cấu hình được đặt hoặc chỉdẫn <?php_track_vars?>.

b Hằng trong PHP

 Hằng trong PHP được định nghĩa bởi hàm define theo cú pháp:

define (string tên_hằng, giá_trị_hằng ).

 Cũng giống với biến, hằng được xem là hợp lệ thì chúng phải đáp ứng 1 số yếu tố :

 Hằng không có dấu "$" ở trước tên

 Hằng có thể truy cập bất cứ vị trí nào trong mã lệnh

 Hằng chỉ được phép gán giá trị duy nhất 1 lần

 Hằng thường viết bằng chữ in để phân biệt với biến

Trang 21

 PHP coi 1 biến có một giới hạn Để xác định một biến tòan cục (global) có tác dụngtrong một hàm , ta cần khai báo lại Nếu không giá trị của biến sẽ được coi như làcục bộ trong hàm

e Các giá trị bên ngòai phạm vi PHP

 HTML Form : khi 1 form gắn với 1 file php qua phương thức POST

VD:

<form action="foo.php3" method="post">

Name: <input type="text" name="name">

<input type="submit">

</form>

 PHP sẽ tạo 1 biến $name bao gồm mọi giá trị trong truờng Name của Form PHP cóthể hiểu được một mảng một chiều gồm các giá trị trong 1 form Vì vậy, bạn có thểnhóm những giá trị liên quan lại với nhau hoặc sử dụng đặc tính này để nhận các giátrị từ 1 đầu vào tuỳ chọn.(multiselect input)

2.4 Kiểu dữ liệu trong PHP

 Các kiểu dữ liệu khác nhau chiếm các lượng bộ nhớ khác nhau và có thể được xử lýtheo cách khác nhau khi chúng được theo tác trong 1 script

 Trong PHP chúng ta có 6 kiểu dữ liệu chính như sau :

Trang 22

Kiểu dữ liệu Mô tả Ví dụ

>= Lớn hơn hoặc bằng Vế trái lớn hơn hoặc bằng vế phải $a>=5

Trang 23

<= Nhỏ hơn hoặc bằng Vế trái nhỏ hơn hoặc bằng vế phải $a<=5

Bảng 3: các toán tử so sánh trong PHP

d Toán tử logic

 Toán tử logic là các tổ hợp các giá trị boolean

 Ví dụ: toán tử or trở về true nếu toán tử trái hoặc toán tử phải là true

 Ta có bảng các toán tử như sau:

|| Or Vế trái hoặc vế phải là true True || false True

Or Or Vế trái hoặc vế phải là true True || false TrueXor Xor Vế trái hoặc vế phải là true nhưng

&& And Vế trái và vế phải là true True && false FalseAnd And Vế trái và vế phải là true True && false False

Bảng 4: Các toán tử logic trong PHP

Trang 24

e Toán tử kết hợp:

Khi tạo mã PHP, ta thấy cần phải tăng hoặc giảm lượng biến một số nguyên nào đó.Điều này sẽ thực hiện khi ta đếm 1 giá trị nào đó trong vòng lặp

Bảng 5: Các toán tử kết hợp trong PHP

2.6 Các biểu thức cơ bản trong PHP

a Biểu thức điều kiện

 Là biểu thức dùng kiểm tra 1 sự kiện Nếu chúng thỏa điều kiện đó thì sẽ thực thimột hành động Ngược lại sẽ là một hành động khác

Trang 25

 Phép lặp này yêu cầu phải thỏa mãn điều kiện thì mới thực thi được vòng lặp

Cú pháp:While(điều kiện){ Khối lệnh-công việc}

Trang 26

 Phép lặp này sẽ thực thi hành động ít nhất là một lần Sau đó mới tiến hành kiểmtra điều kiện.

 Cú pháp:Do {Khối lệnh-công việc}while(điều kiện)

Trang 27

d Biểu thức switch case:

 Là biểu thức sử dụng để giảm thiểu quá trình xử lý dữ liệu nếu có quá nhiều phéptoán if else

Trang 28

case 1: echo “day la gia tri $a”; break;

case 2: echo “day la gia tri $a”; break;

case 3: echo “day la gia tri $a”; break;

case 4: echo “<font color=red> day la gia tri $a</font>”; break;

default: echo “khong co gia tri phu hop”; break;

 Các câu lệnh được quyền gọi bất kì hàm nào đã được khai báo và định nghĩa

3.2 Biến toàn cục và biến cục bộ

 Các biến được sử dụng trong than của hàm là biến cục bộ Biến trong than hàmkhông làm thay đổi giá trị của biến ở ngoài hàm Muốn làm thay đổ giá trị của biến

ngoài ta cần khai báo global trước biến đó trong than hàm.

 VD:

Sposition = “m”;

Function change_pos()

{

Trang 29

 Cookie được tạo ra bởi website và gởi tới browser, do vậy 2 website khác nhau (cho

dù cùng host trên 1 server) sẽ có 2 cookie khác nhau gởi tới browser Ngoài ra, mỗibrowser quản lý và lưu trữ cookie theo cách riêng của mình, cho nên 2 browsercùng truy cập vào 1 website sẽ nhận được 2 cookie khác nhau

b Thiết lập cookie:

 Cú pháp: Setcookie("tên cookie","giá trị", thời gian sống)

Trong đó: Tên cookie là tên mà chúng ta đặt cho phiên làm việc

Giá trị là thông số của tên cookie

 Ví dụ: Setcookie("username","admin", time() +3600)

 Chú ý: Kịch bản cookie đặt trên mọi giá trị trả vềgồm thẻ HTML và lệnh echo

c Sử dụng cookie

Trang 30

 Để hủy 1 cookie đã được tạo ta có thể dùng 1 trong 2 cách sau:

 Cú pháp: setcookie("Tên cookie") Gọi hàm setcookie với chỉ duy nhất tên cookie

mà thôi

 Dùng thời gian hết hạn cookie là thời điểm trong quá khứ

Trang 31

 Ví dụ: Tiếp tục tạo trang cookie3.php với nội dung sau:

Trang 32

 Để thiết lập 1 giá trị session, ngoài việc cho phép bắt đầu thực thi session Chúng

ta còn phải đăng ký 1 giá trị session Để tiện cho việc gán giá trị cho session đó

Với “Name” là tên mà chúng ta sử dụng hàm session_register("name") để khai báo

 Ví dụ: Tạo trang session.php với nội dung sau:

Trang 33

 Để hủy bỏ giá trị của session ta có những cách sau:

session_destroy() // Cho phép hủy bỏ toàn bộ giá trị của session session_unset()// Cho phép hủy bỏ session

 Ví dụ: Tạo trang session3.php với nội dung sau:

Trang 34

3.3.3 Sử dụng kết hợp cookie với session

 Để xem nội dung của các cookie đã được thiết lập bởi session ta sử dụng hàm:

Session_get_cookie_params()

 Để thiết lập các tham số cho session cookie ta dung hàm:

Void session_set_cookie_params(int lifetime[, string path[, string domain]])

function remove_item ($artnr, $num)

{if ($this->items[$artnr] > $num)

Trang 35

 Lớp Cart là một kiểu dữ liệu, vì vậy bạn có thể tạo một biến có kiểu này với toán tử

VD:

Trang 36

Chương 2: Tổng quan về MySQL

1 Hệ cơ sở dữ liệu MySQL

1.1 Giới thiệu về MySQL

 MySQL là hệ quản trị cõ sở dữ liệu mã nguồn mở cho phép người dùng có thể thaotác với cơ sở dữ liệu

 MySQL là cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạtđộng trên nhiều hệ điều hành và có tính bảo mật

 MySQL được sử dụng cho việc bổ trợ PHP, Perl, và nhiều ngôn ngữ khác

Trang 37

1.2 Các đặc tính của MySQL

 Linh hoạt: Máy chủ cơ sở dữ liệu MySQL có sức chứa với dung lượng chỉ 1MB đểchạy các kho dữ liệu đồ sộ lên đến hàng terabytes thông tin Sự linh hoạt vềflatform là một đặc tính lớn của MySQL với tất cả các phiên bản của Linux, Unix,

và Windows đang được hỗ trợ

 Thực thi cao: Kiến trúc storage-engine cho phép các chuyên gia cơ sở dữ liệu cấuhình máy chủ cho các ứng dụng đặc thù MySQL có các tiện ích tải tốc độ cao, đặcbiệt bộ nhớ caches, và các cơ chế xử lý nâng cao khác

 Tính toàn vẹn của dữ liệu được bảo đảm trong suốt quá trình server có hiệu lực, cácmức giao dịch độc lập được chuyên môn hóa

 Chế độ bảo mật dữ liệu mạnh:Trong việc xác nhận truy cập cơ sở dữ liệu, MySQLcung cấp các kĩ thuật mạnh mà chỉ có người sử dụng đã được xác nhận mới có thểtruy cập được vào server cơ sở dữ liệu

 Dễ dàng quản lý: Khi đã được cài đặt, tính năng tự quản lý như tự động mở rộngkhông gian, tự khởi động lại, và cấu hình động sẵn sàng cho người quản trị cơ sở dữliệu làm việc MySQL cũng cung cấp một bộ hoàn thiện các công cụ quản lý đồ họacho phép một DBA quản lý, sửa chữa, và điều khiển hoạt động của nhiều serverMySQL từ một máy trạm đơn

2 Các câu lệnh được sử dụng trong MySQL

2.1 Tạo cơ sở dữ liệu và bảng

 Tạo cơ sở dữ liệu

CREATE DATABASE Tên_CSDL

[CHARACTER SET<character set name>]

[COLLATE<collation name>]

Với: Character set: xác định bộ ký tự mặc định cho CSDL mới

COLLATE: xác định bộ collation

Trang 38

Character set name: tên của một bộ mã bao gồm các ký tự, ký số, và biểutượng để lưu trữ các thông tin trong CSDL

Collation name: tên của bộ mã tùy theo từng khu vực dựa trên bộ mã

 VD: CREATE DATABASE qlsvCHARACTER SET utf8

COLLATE utf8_unicode_ci

Cú pháp sử dụng CSDL: Use tên_database

Cú pháp thoát khỏi CSDL: Exit

Xóa CSDL bằng câu lệnh: DROP DATABASE TÊN_CSDL

 Tạo bảng :

CREATE TABLE Tên_bảng(

Tên_cột_1 kiểu_dữ_liệu[(kích cỡ)][NOT NULL]

Tên_cột_2 kiểu_dữ_liệu[(kích cỡ)][NOT NULL])

Chú ý:-Tạo khóa chính: PRIMARY KEY (Các cột tham gia làm khóa chính)

-Tạo cột tự tăng giá trị :AUTO_INCREMENT

-Tạo bảng có dữ liệu duy nhất: UNIQUE (các cột có giá trị duy nhất)

 Sửa cấu trúc bảng

 Thêm cột

ALTER TABLE Tên_bảng ADD Tên_cột kiểu_dữ_liệu [(kích_cỡ)][…]

 Chú ý: Cột thêm vào tên không được trùng với các cột đã có

Ví dụ: ALTER TABLE sinhvien ADD mota varchar(255)

Trang 39

 Xóa cột

ALTER TABLE Tên_bảng

DROP COLUMN Tên_cột

 Xóa bảng

DROP TABLE Tên_bảng

2.2 Các câu lệnh thêm, sửa, xóa dữ liệu

 Thêm dữ liệu

INSERT INTO Tên_bảng [(tên các cột trong bảng)] VALUES (Danh_sách_các_giá_trị)

VD: INSERT INTO monhoc (‘mamh’ , ‘tenmh’)

VALUES ('3','Anh văn 1’), ('4','Đại số tuyến tính’)

 Sửa dữ liệu

UPDATE Tên_bảng SET Tên_cột=Giá_trị(hoặc biểu thức)[, ]

Trang 40

 Lấy dữ liệu có điều kiện

SELECT tên_các_cột FROM tên_các_bảng WHERE đk

 Truy xuất dữ liệu có giới hạn:

SELECT tên_cột FROM Tên_bảng

WHERE điều kiện (có thể có where hoặc không)

LIMIT vị trí bắt đầu, số record muốn lấy ra

 Truy xuất dữ liệu từ nhóm

SELECT tên_các_cột, hàm_thống_kê[astên]

FROM tên_các_bảng

GROUP BY tên_các_cột_nhóm

 Chú ý: các câu lệnh có phân nhóm:

 Max: hàm trả về giá trị lớn nhất theo nhóm

 MIN: hàm trả về giá trị nhỏ nhất theo nhóm

 AVG: hàm trả về giá trị trung bình theo nhóm trong câu lệnh truy vấn trên bảng

 SUM: hàm trả về tổng các giá trị theo nhóm

 COUNT: hàm trả về số lượng mẩu tin theo nhómtrong câu truy vấn trênbảng

3 Kết hợp PHP và MySQL trong ứng dụng Website

3.1 Kết nối CSDL

Cú pháp: mysql_connect(“hos”t,"user","pass")

Trong đó: host là chuỗi chứa tên (hoặc địa chỉ IP) của máy chủ cài đặt MySQL User:Tên của người sử dụng được phép kết nối vào bộ máy CSDL Pass: mật khẩu của người sử dụng để kết nối

 Ta có thể dùng hàm if để kiểm tra xem có kết nối được tới MySQL hay không:

Ngày đăng: 03/04/2015, 11:02

HÌNH ẢNH LIÊN QUAN

Hình 17: Jumi_Nền tảng cho các module - Nghiên cứu Joomla và xây dựng website tin tức khoa công nghệ thông tin theo mô hình MVC Joomla
Hình 17 Jumi_Nền tảng cho các module (Trang 47)
Hình 18: Phoca Google Adsense Easy_ Module Google Adsense - Nghiên cứu Joomla và xây dựng website tin tức khoa công nghệ thông tin theo mô hình MVC Joomla
Hình 18 Phoca Google Adsense Easy_ Module Google Adsense (Trang 48)
Hình 20:JCE_Trình biên tập WYSIWYG - Nghiên cứu Joomla và xây dựng website tin tức khoa công nghệ thông tin theo mô hình MVC Joomla
Hình 20 JCE_Trình biên tập WYSIWYG (Trang 50)
Hình 23: Tương tác trong mô hình MVC - Nghiên cứu Joomla và xây dựng website tin tức khoa công nghệ thông tin theo mô hình MVC Joomla
Hình 23 Tương tác trong mô hình MVC (Trang 53)
Hình 24: Ví dụ về component đơn giản - Nghiên cứu Joomla và xây dựng website tin tức khoa công nghệ thông tin theo mô hình MVC Joomla
Hình 24 Ví dụ về component đơn giản (Trang 54)
Bảng 15: Đặc tả usercase quản lý tài liệu học - Nghiên cứu Joomla và xây dựng website tin tức khoa công nghệ thông tin theo mô hình MVC Joomla
Bảng 15 Đặc tả usercase quản lý tài liệu học (Trang 78)
Bảng 19: Đặc tả usercase quản lý điểm cho sinh viên - Nghiên cứu Joomla và xây dựng website tin tức khoa công nghệ thông tin theo mô hình MVC Joomla
Bảng 19 Đặc tả usercase quản lý điểm cho sinh viên (Trang 83)
Hình 45: Biểu đồ tuần tự cho chức năng cập nhật ý kiến phản hồi - Nghiên cứu Joomla và xây dựng website tin tức khoa công nghệ thông tin theo mô hình MVC Joomla
Hình 45 Biểu đồ tuần tự cho chức năng cập nhật ý kiến phản hồi (Trang 88)
Hình 48: Biểu đồ tuần tự tìm kiếm - Nghiên cứu Joomla và xây dựng website tin tức khoa công nghệ thông tin theo mô hình MVC Joomla
Hình 48 Biểu đồ tuần tự tìm kiếm (Trang 91)
Bảng 37:danh sách thuộc tính bảng “Newfeeds” - Nghiên cứu Joomla và xây dựng website tin tức khoa công nghệ thông tin theo mô hình MVC Joomla
Bảng 37 danh sách thuộc tính bảng “Newfeeds” (Trang 97)
Bảng 44:danh sách phương thức bảng “Books” - Nghiên cứu Joomla và xây dựng website tin tức khoa công nghệ thông tin theo mô hình MVC Joomla
Bảng 44 danh sách phương thức bảng “Books” (Trang 99)
Bảng 52:danh sách phương thức bảng “Score” - Nghiên cứu Joomla và xây dựng website tin tức khoa công nghệ thông tin theo mô hình MVC Joomla
Bảng 52 danh sách phương thức bảng “Score” (Trang 101)
Bảng 56:danh sách phương thức bảng “Timetable” - Nghiên cứu Joomla và xây dựng website tin tức khoa công nghệ thông tin theo mô hình MVC Joomla
Bảng 56 danh sách phương thức bảng “Timetable” (Trang 102)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w