nghiên cứu công nghệ webgis và xây dựng trang website hỗ trợ ...
báo cáo công nghệ web xây dựng trang tin tức
-
Upload
chung-bao-nguyen -
Category
Documents
-
view
696 -
download
3
Transcript of 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
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
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.
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
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.
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
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
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:
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
Use case quản lý người dùng:
Use case quản lý giao diện:
c. Các use case liên quan đến tác nhân người dùng:
use case đọc tin tức
Use case quản lý tài khoản
II. THIẾT KẾ CHI TIẾT
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.
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
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