bao cao web cake php

14
ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO THỰC TẬP CÔNG NHÂN WEB Đề tài : Xây Dựng Hệ Thống EduPortal Trên Framework CakePHP GVHD : Th.s Trịnh Công Duy SVTH : Lã Xuân Tâm Đào Phan Hoàng Tuấn Trần Canh Ngọ Trương Công Khôi Lớp : 11TLT Đà nẵng ,06/2012

Upload: laonap166

Post on 21-Jan-2018

125 views

Category:

Technology


0 download

TRANSCRIPT

ĐẠI HỌC ĐÀ NẴNGTRƯỜNG ĐẠI HỌC BÁCH KHOA

KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO THỰC TẬP CÔNG NHÂN WEB

Đề tài : Xây Dựng Hệ Thống EduPortal Trên Framework CakePHP

GVHD : Th.s Trịnh Công Duy SVTH : Lã Xuân Tâm

Đào Phan Hoàng TuấnTrần Canh NgọTrương Công Khôi

Lớp : 11TLT

Đà nẵng ,06/2012

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT

1.1 Tìm hiểu ngôn ngữ lập trình PHP & MySQL :

1.1.1 Ngôn Ngữ Lập Trình PHP,HTML,CSS,JavaScript:

• HTMT,CSS,JavaScript:

HTML (HyperText Markup Language, hay là "Ngôn ngữ Đánh dấu Siêu

văn bản") là một ngôn ngữ đánh dấu được thiết kế ra để tạo nên các trang web với

các mẩu thông tin được trình bày trên World Wide Web. Ngôn ngữ HTML có ưu

điểm là rất đơn giản và có thể chạy tốt với nhiều hệ điều hành và nhiều trình duyệt

web khác nhau.

CSS (Cascading Style Sheets) được dùng để miêu tả cách trình bày các tài

liệu viết bằng ngôn ngữ HTML và XHTML,XML,UML…

Việc dùng Hạn chế tối thiểu việc làm rối mã HTML của trang Web bằng

các thẻ quy định kiểu dáng (chữ đậm, chữ in nghiêng, chữ có gạch chân, chữ

màu), khiến mã nguồn của trang Web được gọn gàng hơn, tách nội dung của trang

Web và định dạng hiển thị, dễ dàng cho việc cập nhật nội dung.

Tạo ra các kiểu dáng có thể áp dụng cho nhiều trang Web, giúp tránh phải

lặp lại việc định dạng cho các trang Web giống nhau…

JavaScript là một ngôn ngữ lập trình dựa trên nguyên mẫu với cú pháp

phát triển từ C. Ngôn ngữ này được dùng rộng rãi cho các trang web.

JavaScript được dùng để thực hiện một số tác vụ không thể thực hiện được

với chỉ HTML như kiểm tra thông tin nhập vào, tự động thay đổi hình ảnh,...

• Ngôn Ngữ PHP:

PHP (Personal Home Page) ra đời năm 1994 do phát minh của Rasmus

Lerdorf và nó được tiếp tục phát triển bởi nhiều cá nhân và tập thể khác,do đó

PHP được xem như 1 sản phẩm mã nguồn mở.

PHP (viết tắt hồi quy "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ủ(Server script), mã nguồn mở, dùng cho mục đích tổng quát.

PHP là kịch bản cho phép chúng ta xây dựng dựng dụng web trên mạng

internet,và dễ dàng nhúng vào các trang HTML.PHP hỗ trợ nhiều dạng cơ sở dữ

liệu như : MySQL, Informix, Oracle, Sybase, Solid, PostgreSQL, Generic ODBC,

vv.

1.1.2 Hệ quản trị cơ sơ dữ liệu MYSQL :

MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở phổ biến nhất thế giới và

được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng. Vì

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 cung cấp một hệ thống lớn các hàm tiện ích rất

mạnh.Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có

truy cập CSDL trên internet. MySQL miễn phí hoàn toàn cho nên bạn có thể tải về

MySQL từ trang chủ. Nó có nhiều phiên bản cho các hệ điều hành khác nhau:

phiên bản Win32 cho các hệ điều hành dòng Windows, Linux, Mac OS X, Unix,

FreeBSD, NetBSD, Novell NetWare, SGI Irix, Solaris, SunOS, ...

1.1.3 Cài đặt môi trường làm việc PHP,Apache,MySQL:

Để cài đặt PHP, các bạn có thể cài đặt từng gói riêng lẻ (PHP, Apache,

Mysql). Tuy nhiên, tôi vẫn khuyến khích các bạn cài đặt dạng gói tích hợp. Sẽ tiện

lợi cho việc sau này hơn rất nhiều.Để cài đặt môi trường thực thi PHP & MySQL

trên windows thì có nhiều gói cho các bạn lựa chọn như

XAMPP,WampServer,Vertrigo…đã bao gồm Web Server Apache,bộ xử lý PHP

và MySQL.

Hình 1: Php,Apache,MySQL

1.4 CakePHP Framework và mô hình 3 lớp MVC :

1.2.1 CakePHP FrameWork:

CakePHP là một framework cho php, mục đích của nó là cung cấp một

framework cho người sử dụng php phát triển những ứng dụng web nhanh, mạnh

mà không mất tính linh hoạt của nó. Và điều quan trọng là CakePHP là mã nguồn

mở miễn phí. Để sử dụng nó, yêu cầu người làm phải biết những kiến thức như:

Cơ bản về PHP và HTML, Kiến trúc MVC,Lập trình hướng đối tượng.

Hình 2 : cakephp

1.2.2 Một số tính năng của cakephp:

• Nguồn mở, miễn phí, có cộng đồng sử dụng và hỗ trợ rộng lớn

• Tương thích PHP4 và PHP5

• Mô hình MVC

• Đa ngôn ngữ

• Sinh code tự động

• Caching

• Phân quyền (ACL)

• Kiểm tra ràng buộc dữ liệu

• Xây dựng nhiều thư viện hỗ trợ cho View như: Ajax, HTML Form,

Javascript…

• Xây dựng nhiều thư viện hỗ trợ cho Controller: Email, Security, Session,

Cookies, Request Handling

• Dễ dàng viết thêm thư viện hỗ trợ, liên kết với ứng dụng khác (thông qua

vendors)

• Đa giao diện

• Hỗ trợ nhiều hệ quản trị CSDL

1.2.3 Cấu trúc thư mục cakephp:

Hình 3: Cấu trúc thư mục cakephp

Sau khi bạn download và giải nén CakePHP, bạn cần lưu ý đến 3 thư mục chính

sau:

• Thư mục app là nơi mà bạn làm việc: Nơi đây lưu các file của ứng dụng do

bạn viết.

• Thư mục cake là nơi bạn thay đổi các file core của CakePHP. Bạn phải thật

cẩn thận khi thay đổi các file trong này, và chúng tôi không thể giúp gì cho

bạn nếu bạn thay đổi các file core.

• Thư mục plugins: chứa các thành phần mở rộng dùng cho ứng dụng

• Thư mục vendors là nơi bạn cài các thư viện PHP của nhà cung cấp thứ 3

mà bạn cần để sử dụng với ứng dụng CakePHP của bạn.

Cấu trúc thư mục App:

Thư mục app của CakePHP là nơi bạn chính bạn phát triển ứng dụng. Bây

giờ chúng ta sẽ xem qua các thư mục phía trong của thư mục app.

Hình 4: Cấu trúc thư mục App

Config: Nơi lưu giữ một số file cấu hình hệ thống của CakePHP.

Controller: chứa các controller và các component của ứng dụng

Libs : thư viện cakephp

Locale: lưu các file ngôn ngữ ,phục vụ cho ứng dụng đa ngôn ngữ

Model : chứa các file model và các behavior,datasource..

Plugin : chứa các gói mở rộng

Tmp : thư mục tạm của ứng dụng

Vendor : chứa ứng dụng của bên thứ 3

View : chứa các file giao diện

Webroot: chứa tài liệu(hình ảnh,file..),file css và javascript..

1.2.4 Mô hình 3 lớp MVC:

Cũng như các PHP framework khác, CakePHP hoạt động theo mô hình

thiết kế phần mềm chuẩn MVC. Mô hình MVC trong CakePHP chia ứng dụng ra

ba phần chính: Model, View và Controller, việc phân tách ứng dụng rõ ràng như

vậy sẽ giúp bạn 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 của bạn trong sáng hơn, dễ lập trình, dễ quản lý, chỉnh sửa, nâng cấp.

Trong đó:

Model: mô tả dữ liệu của ứng dụng. Trên Model ta có thể thiết lập các ràng

buộc dữ liệu, quan hệ giữa các bảng. Model giao tiếp với database, bạn sẽ

viết các query cũng như các xử lý logic ở đây.

View: đảm nhận việc hiển thị thông tin đã được xử lý gới đến từ Controller,

View còn được hiểu nôm na là nơi chứa các file html của bạn để hiển thị

cho nguời xem.

Controller: xử lý và điều hướng các yêu cầu của client, Controller nơi bạn

trực tiếp viết các xử lý lấy các request từ url và form để thao tác trực tiếp

với Model, sau đó dùng View để hiển thị ra.

Hình 5: Mô hình 3 lớp MVC

Hình 6 Mô hình MVC

Đầu tiên client sử dụng web browser để gởi yêu cầu đến ứng dụng bằng

cách gõ hoặc click vào một đường link liên kết.

Bộ phận điều vận Dispatcher (là một thành phần của CakePHP) sẽ kiểm tra

phần tử để xác định controller nào sẽ thực thi và gởi yêu cầu tới controller

tương ứng

Khi yêu cầu được gởi đến Controller, nó sẽ làm một vài thao tác luận lí cần

thiết, có thể nó sẽ xử lý ngay tại Controller hoặc sử dụng Model tương ứng

để truy xuất dữ liệu. Dữ liệu ở đây có thể là các record trong table của một

database, hoặc một dạng khác.

Sau khi lấy được dữ liệu, Controller sẽ đưa dữ liệu này ra View và View

này có nhiệm vụ chuẩn bị đưa dữ liệu đầu ra. View có thể chuẩn bị dữ liệu

ở dạng HTML, PDF, tài liệu XML hoặc một đối tượng JSON, cuối cùng là

view sẽ được hiển thị trên trình duyệt.

CHƯƠNG 2 : XÂY DỰNG CỔNG THÔNG TIN TRƯỜNG HỌC

EDUPORTAL DỰA TRÊN CAKEPHP FRAMEWORK

2.1 Portal là gì:

Portal (cổng giao dịch điện tử) là một bước tiến hóa của website truyền

thống. Nó ra đời để giải quyết những vấn đề mà website truyền thống gặp phải.

Là "siêu web site“, gọi tắt là Portal, đối với người dùng vẫn chỉ là sử dụng trang

web thông qua trình duyệt (tức là web browser), nhưng đằng sau đó là sự thay đổi

thuật ngữ và quan niệm mới về triết lý phục vụ thay cho cách hiểu “tuyên truyền”

thông qua web site như trước đây.

Là điểm đích qui tụ hầu hết các thông tin và dịch vụ cho người sử dụng cần,

là điểm đích đến thực sự. Thông tin và dịch vụ được phân loại nhằm thuận tiện

cho tìm kiếm và hạn chế vùi lấp các thông tin.

Bảo toàn đầu tư lâu dài. Có nền tảng công nghệ đảm bảo, do công nghệ

Internet đã phát triển rất cao so với thời kỳ xuất hiện World Wide Web vào đầu

những năm 90 của thế kỷ trước. Những công nghệ tạo nên thời đại Portal đều hỗ

trợ tính mở và kế thừa rất mạnh, sao cho việc mở rộng các qui mô phục vụ bằng

các phần mềm ứng dụng mới được “lắp ráp” vào Portal đang có, mà không phải

hủy bỏ hoặc sửa chữa lớn như những web site trước đây.

Môi trường chủ động dùng cho việc tích hợp ứng dụng

Phía ngoài, cung cấp một cổng giao dịch thân thiện, đủ các chức năng cho

người dùng, trong đó có chức năng cá nhân hóa.

Phía trong, là cung cấp một hạ tầng điện tử, nhằm tạo quyền chủ động trong

việc cung cấp, tích hợp thông tin và liên kết với các hệ thống, các dịch vụ thông

tin khác.

Cung cấp môi trường cộng tác (collaborative) thông qua việc quản lý và

khai thác thống nhất toàn diện các dịch vụ cơ bản như: Forum, Mail, Calendar,

Task Management, Report Systems, Conferences, Discussion Groups, News

Groups, v.v... Các dịch vụ này là một phần của kho tài nguyên dịch vụ trên portal

để người dùng lựa chọn. Việc quản lý người dùng được thực hiện một lần và thống

nhất trên tất cả các ứng dụng dịch vụ của portal.

Tóm lại, triết lý của portal là “siêu web site” để phục vụ tốt hơn thông qua

quan hệ bình đẳng và tình cảm gắn bó với “siêu web site”, là định hướng phục vụ

(user-centric), khác với sự phát triển tự nhiên của web site truyền thống là định

hướng trình bày thông tin (data-centric).

2.2 Khái quát chung về xây dựng hệ thống eduportal dựa trên

cakephp

- Xây dựng các chức năng cơ bản của website với giao diện thân thiện,dễ

tương tác đối với người dùng.

- Bao gồm các chức năng ,hệ thống menu giúp người dùng thao tác sử

dụng nhanh.

- Nội dung được phân loại,phân cấp theo từng chuyên mục rõ ràng,giúp

cho việc thêm,sửa,xóa dữ liệu trở nên đơn giản hơn.

- Việc tùy biến nội dung cũng là một yêu cầu hàng đầu. Ban quản trị có

thể dễ dàng sắp xếp nội dung theo nhiều tiêu trí (tin đọc nhiều nhất, tin

mới nhất, tin được phản hồi nhiều nhất, tin chuyên đề….) và quản lý

việc hiển thị theo vị trí, theo từng nhóm, trên từng trang …

- Việc quản trị được phân quyền rõ ràng,giúp người quản trị dễ dàng theo

dõi tin tức cũng như các hoạt động của website.

- Việc đăng ký thành viên rất dễ dàng nhanh gọn

- Hệ thống tìm kiếm giúp người dùng có thể tìm kiếm nhanh nội dung

mình mong muốn một cách chính xác nhất..

- Tương thích với tất cả các trình duyệt web,hỗ trợ nhiều thiết bị hiển thị

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

MẤY PHẦN Ở TRÊN OK HẾT RỒI ĐÓ.CÒN BẮT ĐẦU TỪ ĐÂY XUỐNG

DƯỚI CÒN VÀI CÁI NỮA LÀ XONG ĐÓ.MI COI THỬ HỈ.CHỨ 2

THẰNG LÌN KIA ÉO BIT LÀM CÁI MẸ GÌ HẾT.CHÁN VL RA.

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

(chụp mấy cái bảng csdl,rồi tên dữ liệu thuộc tính của nó chèn vô đây nhá)

Giống cái báo cáo của bọn ni nè,vd mẫu thui nhá.lấy của mình thay vào

2.4 Các chức năng giao diện tương tác trong hệ thống eduportal:

CHỖ NÀY THÌM CHỤP HÌNH CÁC CHỨC NĂNG CỦA SITE MÌNH NHƯ:

TRANG CHỦ,CÁC TRANG MENU KHI DẪN LINK TỚI,TRANG ĐĂNG

KÝ,TRANG QUẢN TRỊ,CÁC MỤC LIÊN KẾT…. NÓI SƠ QUA VỀ MẤY

CHỨC NĂNG NHƯ NÀO NHA.

ÉO MỊA THAY MẤY CÁI TIN ĐIỆN THOẠI HẾT BẰNG TIN GIÁO DỤC VÔ

ĐI.ĐỂ ĐÓ ÔNG THẦY CHO DIE GIỜ.

SAO THÍM CHƯA CODE MẤY ĐƯỜNG DẪN CHỖ MENU AH.TOÀN DẪN

LINK ĐI ĐÂU THẾ,CODE MẤY TRANG LK ĐÓ ,ĐƯA DỮ LIỆU SƠ SƠ VÔ

THÔI,KO CẦN NHIỀU ĐÂU,NÓI CHUNG CÓ DẪN ĐẾN ĐƯỢC OY.THÍCH

ĐỘNG HAY TĨNH GÌ CŨNG DC,

MỤC LIÊN HỆ LÀM 1 TRANG ĐƯA INFO NHƯ BỌN NÀY NÈ

TRÊN CÙNG BÊN TRÁI ĐÓ.MÀ CỦA MÌNH CHƠI HẲN 1 TRANG

LUÔN.GHI TÊN THÀNH VIÊN NHÓM,TÊN ĐỀ TÀI KIỀU KIỂU NHƯ BỌN

NÓ VẬY.GỌI LÀ CHO CÓ.HEHE

Xem cái hình trên nhá.

Đưa cái khung thông báo bên dưới lên trên bảng site liên kết nhá

Chõ liên kết đưa mấy cái logo dhdn,bộ giáo dục vô chỗ đó.cho cái khung đó dài

xuống.quất nhìu logo vô cho nó khỏi trống trải.ok :D

Rầu tạm thời nhiu đó.nếu có ý tưởng gì thì thêm vô nữa nha.chăm chút giao diện tí

đi,.ông thầy ông hay để ý giao điện dó.

Rùi còn phần kết luận nữa.nêu những cái đạt dc rùi hạn chế gì đó,thêm bữa vô nha,

4h sáng ùi bùn ngủ quá.ngủ đã có gì trưa ăn cơm xong qua chỗ ta luôn ngồi hoàn

thiện nốt rồi chở ta đi báo cáo với.