báo cáo công nghệ web xây dựng trang tin tức

18
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI Viện Công nghệ Thông tin và Truyền thông BÀI TẬP LỚN Môn học: CÔNG NGHỆ WEB VÀ DỊCH VỤ TRỰC TUYẾN ĐỀ TÀI: CMS mini - Zend Framework Số hiệu nhóm: 29 Giảng viên hướng dẫn: TS.Tạ Tuấn Anh Sinh viên thực hiện: Họ tên SHSV Lớp Trần Quang Chiến 200903 04 CNTT1-K54 Nguyễn Bảo Chung 200903 33 CNTT1-K54

Upload: chung-bao-nguyen

Post on 25-Jul-2015

697 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: báo cáo công nghệ web xây dựng trang tin tức

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

Viện Công nghệ Thông tin và Truyền thông

BÀI TẬP LỚN

Môn học: CÔNG NGHỆ WEB VÀ DỊCH VỤ TRỰC TUYẾN

ĐỀ TÀI: CMS mini - Zend Framework

Số hiệu nhóm: 29

Giảng viên hướng dẫn: TS.Tạ Tuấn Anh

Sinh viên thực hiện:

Họ tên SHSV LớpTrần Quang Chiến 20090304 CNTT1-K54Nguyễn Bảo Chung 20090333 CNTT1-K54Trần Nam Sơn 20092279 CNTT1-K54Vũ Đình Diệu 20090459 CNTT2-K54

Page 2: báo cáo công nghệ web xây dựng trang tin tức

MỤC LỤC

MỤC LỤC...................................................................................................................................................2

Lời nói đầu..................................................................................................................................................3

Phần 1 Giới thiệu về PHP và Zend Framework...........................................................................................4

I. PHP.................................................................................................................................................4

II. PHP Framework........................................................................................................................4

III. ZEND FRAMEWORK..............................................................................................................5

1. Giới thiệu....................................................................................................................................5

2. Cài đặt, cấu hình Zend Framwork...........................................................................................6

3. Các lớp cơ bản theo mô hình MVC..........................................................................................7

Phần 2 Xây dựng ứng dụng sử dụng Zend Framework................................................................................8

I. PHÂN TÍCH CHỨC NĂNG VÀ VẼ BIỂU ĐỒ USE CASE.......................................................8

1. Phân tích chức năng..................................................................................................................8

2. Biểu đồ use case..........................................................................................................................9

II. THIẾT KẾ CHI TIẾT.............................................................................................................12

1. Xây dựng biểu đồ lớp của hệ thống........................................................................................13

2. Thiết kế cơ sở dữ liệu cho hệ thống........................................................................................13

3. Thiết kế giao diện.....................................................................................................................15

Page 3: báo cáo công nghệ web xây dựng trang tin tức

Lời nói đầuInternet hiện nay đang phát triển với tốc độ chóng mặt và tác động đến mọi mặt của đời sống. Chính vì vậy lập trình web trở thành một trong những công việc hết sức cần thiết.

Trong các công nghệ lập trình web hiện nay thì PHP cùng với Apache và Mysql nổi lên như một công nghệ rất mạnh đối lập với các công nghệ đóng ASP.NET, SQL Server và IIS của Microsoft nhờ vào tính mở, miễn phí, cộng đồng phát triển rộng lớn.

May mắn được học môn Công nghệ web và các dịch vụ trực tuyến vào kì 6, chúng em cùng nhau thực hiện đề tài “phát triển một CMS mini sử dụng Zend Framwork”. Trong quá trình thực hiện đề tài, chúng em đã thu được nhiều kinh nghiệm về lập trình web động.

Chúng em xin chân thành cảm ơn sự hướng dẫn tận tình của thầy Tạ Tuấn Anh, cả về chuyên môn cũng như định hướng trong quá trình chúng em thực hiện đề tài.Vì kiến thức còn hạn hẹp,nên chương trình của chúng em không thể tránh khỏi nhiều thiếu sót.Rất mong được sự góp ý của thầy giáo cũng như các bạn trong lớp để chúng em có thể cải tiến được chất lượng của chương trình.

Page 4: báo cáo công nghệ web xây dựng trang tin tức

Phần 1 Giới thiệu về PHP và Zend Framework

I. PHP

PHP (viết tắt hồi quy "PHP: Hypertext Preprocessor") là một ngôn ngữ lập trình kịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng viết cho máy chủ, mã nguồn mở. Nó rất thích hợp với web và có thể dễ dàng nhúng vào trang HTML. Do được tối ưu hóa cho các ứng dụng web, tốc độ nhanh, nhỏ gọn, cú pháp giống C và Java, dễ học và thời gian xây dựng sản phẩm tương đối ngắn hơn so với các ngôn ngữ khác nên PHP đã nhanh chóng trở thành một ngôn ngữ lập trình web phổ biến nhất thế giới.

*Ưu điểm

+ Dùng mã nguồn mở (có thể chạy trên Apache hoặc IIS).+ Phổ biến hơn ASP (có thể thấy dựa vào số website dùng PHP).+ Dễ học khi đã biết HTML, C.+ Dễ cấu hình.+ Nhiều hệ thống CMS miễn phí.+ Tương thích với mySQL (cũng dễ ).+ Có thể hoạt động trên Linux.

*Nhược điểm

+ Mã nguồn không đẹp, ít tool phát sinh code.+ Chỉ chạy trên web.+ Không thích hợp ở cấp doanh nghiệp

II. PHP Framework

Framework: một thư viện mã lệnh được xây dựng sẵn để sử dụng

PHP Framework: làm nhiệm vụ cung cấp 1 cấu trúc cơ bản để xây dựng những ứng dụng PHP. Giúp đỡ nhà lập trình thúc đẩy nhanh chóng quá trình phát triển ứng dụng, giúp bạn tiết kiệm được thời gian, tăng sự ổn định cho ứng dụng, và giảm thiểu số lần phải viết lại mã cho lập trình viên. Ngoài ra Framework còn

Page 5: báo cáo công nghệ web xây dựng trang tin tức

giúp những người mới bắt đầu có thể xây dựng các ứng dụng ổn định hơn nhờ việc tương tác chính xác giữa các Database, mã (PHP) và giao diện (HTML) 1 cách riêng biệt. Điều này cho phép bạn dành nhiều thời gian để tạo ra các ứng dụng web, hơn là phí thời gian để viết các đoạn mã lặp lại trong 1 project.

III. ZEND FRAMEWORK1. Giới thiệu

Một trong các PHP Framework phổ biến nhất đó là Zend Framework, nhờ vào cộng đồng phát triển rộng lớn, tập trung vào các ứng dụng Web 2.0, tính năng mạnh.

Zend Framework là 1 PHP Framework đuợc lập trình trên PHP dựa theo mô hình MVC giúp tách bạch các phần xử lý riêng biệt cho website của bạn, nó giúp cho code trông sáng sủa hơn, dễ quản lý, chỉnh sửa và nâng cấp.

Page 6: báo cáo công nghệ web xây dựng trang tin tức

Mô hình MVC trong Zend Framwork

Model: Cung cấp tập hợp các lớp được trừu tượng hóa sử dụng cho việc truy xuất dữ liệu.

Lớp phục vụ: Zend_DB, Zend_DB_Table

View : Định nghĩa các thông tin hiển thị phía người dụng sau khi được xử lý và trả về từ controller.

Lớp phục vụ: Zend_View

Controller : Kiểm soát dữ liệu vào ra. Xuất thông tin ra tầng View khi được thực thi.Lớp phục vụ: Zend_Controller

2. Cài đặt, cấu hình Zend Framwork

Ta download thư viện Zend về rồi copy vào thư mục library của ứng dụng

Cấu trúc thư mục của 1 ứng dụng Zend

Page 7: báo cáo công nghệ web xây dựng trang tin tức

Khởi tạo ứng dụng trong Zend Framework gồm 3 bước cơ bản

Khởi tạo môi trường: Bật chức năng Debug, khai báo về múi giờ làm việc, …

Khai báo đường dẫn: Load các class làm việc của nhân ZF Thiết lập controllers: Chỉ ra nơi đáp ứng các request.

3. Các lớp cơ bản theo mô hình MVCa. Zend_Config

Chức năng: Load cấu hình giao tiếp webserver: Databse, các đường dẫn lưu trữ Layout, css, js…

Có 2 lớp đại diện

o Zend_Config_Ini: Cho phép nhận diện và đọc các file “. ini”, “.txt”, …

o Zend_Config_Xml: Cho phép nhận diện và đọc file “.xml”

b. Zend_Db

Page 8: báo cáo công nghệ web xây dựng trang tin tức

Chức năng: Giao tiếp với Database. Load cấu hình connection

Các lớp đại diện:

o Zend_Db_Table: Các thao tác thực thi với Table, Row, Column

o Zend_Db_Select: Thay thế và tạo ra cách viết câu lệnh SQL query mới

Lớp này được sử dụng trong tầng Model và giao tiếp trực tiếp

với Database

c. Zend_Controller

Controller trong ZF được đặt tên theo quy định để sử dụng cho việc gọi hàm trong Controller đó qua tham số trên URL.

Việc xử lý Request được thực hiện thông qua phương thức được khai báo trong Controller tương ứng

d. Zend_View

Thực thi Zend_View_Interface giúp tạo ra template engine riêng.

Mặc định Zend_View sử dụng PHP Taglib

Gán và trả về giá trị dưới dạng đối tượng .

o $view->content = $body

Truy cập biến trong view sử dụng con trỏ $this

o <?= $this->content ?>

Phần 2 Xây dựng ứng dụng sử dụng Zend Framework

I. PHÂN TÍCH CHỨC NĂNG VÀ VẼ BIỂU ĐỒ USE CASE1. Phân tích chức năng

Các tác nhân sử dụng hệ thống:

Page 9: báo cáo công nghệ web xây dựng trang tin tức

Admin Người dùng

Hệ thống có các chức năng:

2. Biểu đồ use casea. Use case tổng thể

b. Các use case liên quan đến tác nhân Admin

Use case quản lý CSDL

Page 10: báo cáo công nghệ web xây dựng trang tin tức

Use case quản lý người dùng:

Use case quản lý giao diện:

Page 11: báo cáo công nghệ web xây dựng trang tin tức

c. Các use case liên quan đến tác nhân người dùng:

use case đọc tin tức

Page 12: báo cáo công nghệ web xây dựng trang tin tức

Use case quản lý tài khoản

II. THIẾT KẾ CHI TIẾT

Page 13: báo cáo công nghệ web xây dựng trang tin tức

1. Xây dựng biểu đồ lớp của hệ thống.

2. Thiết kế cơ sở dữ liệu cho hệ thống.

Cơ sở dữ liệu cho trang web được thiết kế theo sơ đồ quan hệ, gồm các bảng sau:

Bảng advertise: chứa các thông tin về các quảng cáo trong trang web.

Cột Mô tảID Mã sốname Tên quảng cáolink Đường dẫn đến trang quảng cáoprior

Bảng article: chứa nội dung của một bài báo.

Page 14: báo cáo công nghệ web xây dựng trang tin tức

Cột Mô tảID Mã số của bàiheading Tiêu đềcontents Nội dungUser-id Mã số của người dùngdatetime Ngày , thángpicture Tranh ảnh được sử dụng trong bài báo

Bảng comment: chứa thông tin về các comment của người dùng.

Cột Mô tảcontents Nội dung commentuser Người commentid Mã số của commentDatetime Ngày, giờ comment

Bảng news: chứa các thông tin về tin tức.

Cột Mô tảid Mã số của tinHeading Tiêu đề của bài tincontents Nội dung của tinauthor Người viết bàipicture Tên ảnh được sử dụng trong bàidatetime Ngày, giờ viếtkind Thể loại bài tintag Các tag của bài tin

Bảng user: chứa các thông tin quản lý người dùng.

Cột Mô tảid Mã số người dùngusername Tên đăng nhập của người dùngpassword Mật khẩu đăng nhập của người dùngstatus Quyền đăng nhậpaddress Địa chỉ của người dùngBirthday Ngày sinh của người dùng

Page 15: báo cáo công nghệ web xây dựng trang tin tức

email Email người dùngIntroduce Giới thiệu về người dùngBlog Blog của người dùngTime-init Thời gian kích hoạt tài khoản

3. Thiết kế giao diện