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

Xây dựng hệ thống cung cấp dịch vụ nghe nhạc xem video trực tuyến

49 652 2
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

Tiêu đề Xây dựng hệ thống cung cấp dịch vụ nghe nhạc xem video trực tuyến
Tác giả Vũ Thanh Tùng
Người hướng dẫn TS. Nguyễn Hải Châu
Trường học Đại Học Quốc Gia Hà Nội - Trường Đại Học Công Nghệ
Chuyên ngành Công nghệ thông tin
Thể loại Khoá luận tốt nghiệp
Năm xuất bản 2007
Thành phố Hà Nội
Định dạng
Số trang 49
Dung lượng 1,23 MB

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

Nội dung

tài liệu Xây dựng hệ thống cung cấp dịch vụ nghe nhạc xem video trực tuyến

Trang 1

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

Vũ Thanh Tùng

XÂY DỰNG HỆ THỐNG CUNG CẤP DỊCH VỤ NGHE NHẠC / XEM VIDEO TRỰC TUYẾN

KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY

Ngành: Công nghệ thông tin

HÀ NỘI - 2007

Trang 2

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

Vũ Thanh Tùng

XÂY DỰNG HỆ THỐNG CUNG CẤP DỊCH VỤ NGHE NHẠC / XEM VIDEO TRỰC TUYẾN

KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH Ngành: Công nghệ thông tin

Cán bộ hướng dẫn: TS Nguyễn Hải Châu

HÀ NỘI - 2007

Trang 3

TÓM TẮT KHOÁ LUẬN

Ngành giải trí âm nhạc ngày nay không còn đơn thuần là biểu diễn nghệ thuật mà

nó đã trở thành một ngành công nghiệp với lợi nhuận khổng lồ Trong xu hướng phát triển của công nghệ thông tin, ngành âm nhạc đã có một bước chuyển mình mạnh mẽ, rất nhiều các website cung cấp nhạc trực tuyến ra đời Nó mở ra một hướng đi mới

trong việc xuất bản âm nhạc Theo thống kê của BigChampagne, tính đến năm 2004

đã có khoảng 60.900 website nhạc trực tuyến trên toàn thế giới.

Nhờ có Internet, âm nhạc đi đến với khán giả theo một con đường mới, nhanh chóng và hiệu quả Hiện nay ở Việt Nam cũng đã có rất nhiều các website cho phép nghe nhạc, xem video trực tuyến Trong khuôn khổ luận văn này, chúng tôi đề cập đến việc xây dựng một hệ thống cung cấp dịch vụ nghe nhạc, xem video trực tuyến, và hệ thống này được xây dựng trên nền hệ quản trị nội dung Joomla

Về phía người sử dụng thì hệ thống này không khác gì so với một hệ thống website nghe nhạc thông thường Nhưng với người phát triển, việc xây dựng hệ thống trên nền Joomla thuận tiện hơn rất nhiều so với việc xây dựng lại từ đầu một hệ thống nghe nhạc

Hệ thống này sẽ có những chức năng cơ bản như hiển thị và chơi nhạc, chức

năng tìm kiếm theo dạng text Về phía người quản trị sẽ có những chức năng chính

như: quản lý nội dung, bài hát, album, nhạc sỹ, ca sỹ Cho phép tải ảnh, bài hát lên máy chủ Do thời gian có hạn nên hệ thống mà chúng tôi xây dựng mới dừng lại ở đây Trong tương lai, hệ thống sẽ cung cấp thêm cho người dùng chức năng tìm kiếm bài hát theo giai điệu hoặc tiết tấu [11] Đây là một tính năng tương đối tốt mà đa số các website cung cấp nhạc số ở Việt Nam chưa làm được

Trang 4

LỜI CẢM ƠN

Lời đầu tiên, em xin cảm ơn sự hướng dẫn, chỉ bảo tận tình của thầy giáo, TS Nguyễn Hải Châu Trong suốt thời gian qua, nhờ có sự quan tâm của thầy, nhờ có những tài liệu quý giá cũng như những lời động viên, khích lệ tinh thần của thầy, em

đã hoàn thành tốt khoá luận của mình

Em cũng xin bày tỏ lời cảm ơn sâu sắc đến các thầy giáo, cô giáo đã giảng dạy

em trong suốt những năm học Đại Học Những kiến thức nền tảng quý báu đó sẽ là hành trang giúp cho em vững bước trong tương lai

Cuối cùng, em xin gửi lời cảm ơn đến bạn bè, các anh chị đã giúp đỡ em rất nhiều tài liệu quan trọng trong thời gian làm khoá luận, và lời cảm ơn sâu sắc đến những người thân trong gia đình em, những người luôn quan tâm động viên khích lệ

em trong học tập cũng như trong cuộc sống

Sinh viên thực hiện khoá luận

Vũ Thanh Tùng

Trang 5

MỤC LỤC

BẢNG CHÚ GIẢI THUẬT NGỮ 1

MỞ ĐẦU 2

Chương 1 GIỚI THIỆU VỀ JOOMLA 3

1.1 Giới thiệu chung: 3

1.1.1 Hệ thống quản trị nội dung (CMS) 3

1.1.2 Các ứng dụng chính của Joomla 3

1.2 Các thành phần chính của Joomla 6

1.2.1 Template 6

1.2.2 Components 8

1.2.3 Modules 8

1.2.4 Mambots 8

CHƯƠNG 2 GIỚI THIỆU PHP & MYSQL 9

2.1 PHP 9

2.1.1 Lịch sử phát triển của PHP 9

2.1.2 Cộng đồng sử dụng và phát triển PHP tại Việt Nam 12

2.1.3 Cấu trúc cơ bản của mã PHP 12

2.2 MySQL 14

2.2.1 Lịch sử phát triển 14

2.2.2 Một số từ khóa thông dụng trong SQL: 16

a Lấy dữ liệu: 16

b Sửa đổi dữ liệu : 16

c Giao dịch dữ liệu: 17

CHƯƠNG 3 XÂY DỰNG HỆ THỐNG 18

3.1 Mô tả bài toán 18

3.2 Mô hình nghiệp vụ 18

3.2.1 Bảng phân tích xác định chức năng, tác nhân và hồ sơ 18

3.2.2 Biểu đồ ngữ cảnh hệ thống 19

3.2.3 Biểu đồ phân rã chức năng 20

3.2.4 Mô hình các chức năng cụ thể 20

3.2.5 Lập ma trận thực thể chức năng 21

3.3 Phân tích – Mô hình khái niệm logic 22

3.3.1 Biểu đồ luồng dữ liệu mức 0 22

3.3.2 Biểu đồ luồng dữ liệu mức 1 23

3.3.3 Mô hình khái niệm dữ liệu: mô hình E-R 24

a Xây dựng được các thực thể 24

b Xác định mối quan hệ và thuộc tính 24

c Vẽ biểu đồ rút gọn 25

3.4 Thiết kế mô hình logic 26

3.4.1 Chuyển mô hình ER sang mô hình quan hệ 26

a Biểu diễn các thực thể: 26

b Biểu diễn các mối quan hệ 26

c Chuẩn hóa: 26

d Biểu đồ quan hệ của mô hình dữ liệu 27

Trang 6

3.4.2 Thiết kế cơ sở dữ liệu vật lý 28

a Bảng: BÀI HÁT 28

b Bảng: ALBUM 29

c Bảng: CA SỸ 29

d Bảng: NHẠC SỸ 30

e Bảng: BÀI HÁT_ALBUM 30

f Bảng: BÀI HÁT_CA SỸ 30

CHƯƠNG 4: ỨNG DỤNG THỰC TIỄN 31

4.1 Mô tả môi trường xây dựng và thử nghiệm ứng dụng 31

4.1.1 Mô tả môi trường xây dựng ứng dụng: 31

4.1.2 Các ứng dụng xây dựng thử nghiệm: 31

4.2 Giao diện của website 32

4.3 Đánh giá về hệ thống 41

4.3.1 Ưu điểm 41

4.3.2 Nhược điểm 41

4.4 Hướng phát triển trong tương lai 41

TÀI LIỆU THAM KHẢO 43

Trang 7

quan hệ, sử dụng Ngôn ngữ truy vấn có cấu trúc

CSS Cascading Style Sheets

(Hệ quản trị nội dung)

một trang web)

Trang 8

Chương 4: Ứng dụng thực tiễn

MỞ ĐẦU

Âm nhạc là một trong những lĩnh vực giải trí rất quan trọng Theo số liệu từ Hiệp hội Công nghiệp Ghi âm Quốc tế (IFPI), doanh thu từ việc kinh doanh nhạc số hợp pháp trong sáu tháng đầu năm 2006 là 945 triệu USD, tăng 106% so với cùng kỳ năm trước

Trong vài năm trở lại đây, sự phát triển của CNTT nói chung và mạng Internet nói riêng, đã mang lại sức sống mới cho nhạc số Ngày nay việc giải trí, nghe nhạc trực tuyến trên mạng Internet đã không còn là điều xa lạ đối với mỗi chúng ta Hơn nữa, Internet đã mang lại những ưu thế đáng kể trong việc “phát hành”, “chia sẻ” so với các phương tiện thông tin khác Hiện nay ở Việt Nam cũng như trên thế giới đã có rất nhiều các website cho phép nghe nhạc, xem video trực tuyến Trong khuôn khổ luận văn này, chúng tôi đề cập đến một hệ thống nghe nhạc, xem video clip trực tuyến được xây dựng trên nền Joomla

Về phía người sử dụng thì hệ thống này không khác gì so với một hệ thống website nghe nhạc thông thường Nhưng với người phát triển, việc xây dựng hệ thống trên nền Joomla thuận tiện hơn rất nhiều so với việc xây dựng lại từ đầu 1 hệ thống nghe nhạc Hệ thống cung cấp nhạc này sẽ bao gồm các chức năng cơ bản như quản lý nội dung về bài hát, ca sỹ, nhạc sỹ, album vv và tím kiếm cơ bản

Ở phiên bản tiếp theo, chúng tôi dự định sẽ đưa thêm và hệ thống một chức năng mới, đó là tìm kiếm bài hát theo một giai điệu hoặc tiết tấu có sẵn Giai điệu này có thể

là một File dạng MIDI, hay một đoạn nhạc của bài hát, hoặc thậm chí là một đoạn tiếng huýt sáo do người sử dụng trực tiếp ghi lại thông qua Micro

Để phát triển tính năng này, chúng ta cần có một module xử lý các bài hát được tải lên và trích ra đoạn nhạc mẫu của bài hát đó Sau đó lưu đoạn nhạc mẫu vào ngay

cơ sở dữ liệu của bài hát đó Một module để phân tích và so sánh các đoạn nhạc mẫu với đoạn nhạc cần tìm kiếm Cuối cùng là một module xử lý đoạn nhạc yêu cầu tìm

kiếm: đoạn nhạc này có thể là một File nhạc MIDI (từ các chương trình mô phỏng đàn

Piano [14] ) một đoạn âm thanh do người dùng tự thu âm, hay là cả một bài hát

Trang 9

Chương 1: Giới thiệu Joomla

Chương 1 GIỚI THIỆU VỀ JOOMLA

1.1 Giới thiệu chung:

1.1.1 Hệ thống quản trị nội dung (CMS)

CMS viết tắt của từ Content Management System (tạm dịch là Hệ thống quản

trị nội dung), là một hệ thống phần mềm máy tính để thiết lập, tổ chức, tạo thuận tiện cho việc xây dựng các tài liệu hay các nội dung khác Thông thường, CMS là một ứng dụng web sử dụng để quản lý các website và nội dung web

và nhanh chóng hơn Và hơn hết, Joomla là một giải pháp mã nguồn mở, nó miễn phí cho tất cả mọi người

Hệ thống Joomla có khả năng quản trị nội dung tương đối đa dạng, vì thế khi một người phát triển muốn xây dựng một ứng dụng bất kỳ, thì có thể dựa trên rất nhiều thứ

có sẵn mà Joomla cung cấp Không những cung cấp đầy đủ các công cụ quản lý nội dung, Joomla còn rất dễ dàng mở rộng thêm thông qua việc cài đặt các module, component, template

Hiện nay Joomla được sử dụng trên toàn thế giới để cung cấp mọi thứ, từ đơn giản như các trang web cá nhân, tới những ứng dụng web phức tạp Dưới đây là một vài ứng dụng mà Joomla thường được sử dụng để xây dựng:

* Corporate websites or portals : Website của công ty hay cổng giao tiếp

* Online commerce : Thương mại trực tuyến

* Small business websites : Website kinh doanh nhỏ

* Non-profit and organizational websites : Website các tổ chức phi lợi nhuận

* Government applications : Các ứng dụng cho chính phủ

Trang 10

Chương 1: Giới thiệu Joomla

* School and church websites : Website trường học nhà thờ

* Personal or family homepages : Website cá nhân, gia đình

* Community-based portals : Cổng kết nổi cơ bản

* Magazines and newspapers : Website các tạp chí và báo điện tử

những ví dụ trên cho thấy khả năng của Joomla không hề có giới hạn

Gói Joomla cơ bản được thiết kế để dễ dàng cài đặt, thậm chí cho những người không phải là lập trình viên máy tính Phần lớn người sử dụng không gặp phải trở ngại nào khi cài đặt và chạy hệ thống Joomla, và có rất nhiều sự hỗ trợ cho những người mới sử dụng Joomla có một cộng đồng năng động, đang phát triển với trên 100,000 thành viên, họ là những người sử dụng thông thường hay các nhà lập trình chuyên nghiệp

Một hệ thống Joomla được cài đặt và chạy, nó thậm chí đơn giản cho những người dùng không phải là người phát triển ứng dụng web chuyên nghiệp, đều có thể thêm hay chỉnh sửa nội dung, cập nhật ảnh, và quản lý những dữ liệu phản hồi Bất

kỳ ai với những kỹ năng xử lý web cơ bản đều có thể dễ dàng học cách quản lý một site Joomla

Joomla làm công việc quản lý nội dung khá tốt, yếu tố này làm cho một site Joomla trở nên đơn giản hơn rất nhiều trong việc quản lý Nhưng với nhiều người, sức mạnh thực sự của Joomla nằm trong Framework ứng dụng, nhờ nó mà hàng nghìn nhà phát triển chuyên nghiệp trên toàn thế giới có thể tạo ra những add-ons và extensions tương đối mạnh Sau đây là một vài ví dụ trong hàng nghìn extension sẵn có dành cho Joomla:

* Dynamic form builders : Xây dựng form động

* Business or organizational directories : Các danh bạ tổ chức hoặc kinh doanh

* Document management : Quản lý tài liệu

Trang 11

Chương 1: Giới thiệu Joomla

* Forums and chat software : Phần mềm chat và forum

* Calendars : Quản lý thời gian biểu

* Blogging software : Phần mềm blog

* Directory services : Dịch vụ danh bạ

* Email newsletters : Thư dưới dạng tin tức mới

* Data collection and reporting tools : Các công cụ báo cáo và tập hợp dữ liệu

* Banner advertising systems : Các hệ thống banner quản cáo

* Subscription services : Các dịch vụ thuê bao

Và rất nhiều các extension khác nữa mà chúng ta có thể tìm thấy tại mục Joomla Extension tại địa chỉ http://www.joomla.org Nhưng thông thường, tại các công ty lớn thì yêu cầu của họ xa hơn những gì được cung cấp miễn phí của Joomla, vì thế họ có thể mua những Extension hướng tới mục đích cụ thể của họ từ các nhà phát triển web chuyên nghiệp

Joomla mang đến một Framework ứng dụng với đầy đủ sức mạnh để có thể làm cho công việc tạo ra các add-on của những nhà phát triển trở nên đơn giản hơn Những add-on phức tạp này sử dụng sức mạnh của Joomla, gần như không có giới hạn về mặt phương tiện

Sử dụng lõi framework, những nhà phát triển có thể dễ dàng xây dựng:

* Integrated e-commerce systems : Hệ thống tích hợp thương mại điện tử

* Inventory control systems : Hệ thống điều khiển thống kê

* Data reporting tools : Các công cụ báo cáo dữ liệu

* Custom product catalogs : Các catalog sản phẩm

* Complex business directories : Các danh mục kinh doanh phức tạp

* Reservation systems : Hệ thống dành riêng

* Communication tools : Các công cụ kết nối

* Application bridges : Các cầu nối ứng dụng

Trang 12

Chương 1: Giới thiệu Joomla

Nếu công ty hay tổ chức thuê một nhà phát triển ứng dụng Joomla thứ ba có sử dụng Joomla Framework, thì họ đang xây dựng trên một platform mở, nó không rằng buộc họ với bất kỳ một nhà phát triển hay một quyền sở hữu nào

Tất cả những thông tin cần thiết về việc phát triển trên Joomla! Framework đều được công bố rộng rãi trên trang chủ của Joomla, hoặc trong diễn đàn chính thức của cộng đồng Joomla http://forum.joomla.org Và nếu như ai đó có bất kỳ ý tưởng nào để phát triển Joomla! Framework hay những sản phẩm đã hoàn thiện thì họ đều có thể phân phát tới cộng đồng Joomla thông qua mạng này

Điều cuối cùng cần nhắc lại là Joomla miễn phí, mở và sẵn sàng cho tất cả mọi người theo giấy phép bản quyền GPL (General Public License) Những người tạo ra Joomla không thể hứa rằng có thể đáp ứng được mọi yêu cầu trên toàn thế giới Nhưng với đa số những ứng dụng web, phần mềm của họ là tương đối hoàn hảo cho công việc Nhóm phát triển Joomla đang thêm những tính năng mới cho mỗi phiên bản phát hành về sau này

1.2 Các thành phần chính của Joomla

Công viêc cài đặt một bản Joomla khá đơn giản Người sử dụng chỉ cần tải một bản Joomla từ trang chủ của Joonla về , giải nén ra, copy vào thư mục localhost và

truy cập vào File index trên trình duyệt để bắt đầu quá trình cài đặt

Sau khi cài đặt xong và chạy thành công Joomla, điều đầu tiên bạn cần quan tâm,

đó chính là thành phần giao diện phía người dùng của website – Templates

1.2.1 Template

Template và những File liên quan tới nó cung cấp một cái nhìn trực quan cho

website của bạn theo kiểu “look and feel” và được duy trì tách biệt với nội dung website Template được lưu trữ trong một cơ sở dữ liệu MySQL

Một bản Joomla điểm hình đã được cài đặt sẽ bao gồm 2 Templates có sẵn, đó là:

madeyourweb và rhuk_solaflare_ii Các File Template được đặt trong thư mục Templates, trong thư mục gốc, và mỗi một Template thường bao gồm những File sau:

Trang 13

Chương 1: Giới thiệu Joomla

Index.php

File này chứa những mã HTML, PHP và có thể cả

JavaScript, sẽ cung cấp Framework cho phần phác hoạ

website của bạn Bằng việc kết hợp với File css và các File ảnh, nó tạo nên tất cả những thiết kế và các yếu tố sắp

đặt nội dung trên wesite của bạn

templateDetails.xml

File này định nghĩa cách sử dụng template và chứa các

tham chiếu tới tất cả các File được sử dụng, ví dụ

index.PHP, css File vvv

template_thumbnail.png

File ảnh này được sử dụng trong phần quản lý Template,

nếu nó được bật, một hình nhỏ hiển thị File

Template_thumbnail.png chính là giao diện của Template

tương ứng File ảnh này phải được đặt trong thư mục

Template

template_css.css

Được đặt trong thư mục css, File CSS này chứa các đoạn

mã để xử lý yếu tố trực quan của website, ví dụ: phông

chữ, cỡ chữ, màu sắc vvv Có thể có rất nhiều File CSS

mà bạn muốn cung cấp tham chiếu HTML thích hợp trong

Những File này được đặt trong thư mục ảnh và có thể có

đuôi mở rộng là gif, jpg, hoặc png

Chúng cung cấp những yếu tố đồ hoạ cho phần phác thảo website

Trang 14

Chương 1: Giới thiệu Joomla

1.2.2 Components

Components là thành phần cốt lõi trong các chức năng chính Joomla! Và được

hiển thị trong phần thân chính ở template của website Phần lõi trong phần thân chính

sẽ xuất hiện trong template như sau: <?php mosMainBody(); ?> Điều này tuỳ thuộc

vào mục đích khi thiết kế website, nhưng thường thì nó sẽ nằm ở phần chính giữa của

trang web Một hệ thống Joomla điển hình đi kèm với các Components được cung cấp sẵn như: Banners, Contacts, News Feeds, Polls, và Web Links Các thành viên của cộng đồng Joomla đều có thể đưa ra những Components do chính họ viết lên trang [2]

để các thành viên khác tham khảo và góp ý Và cũng tại trang [2]có danh sách tải về

những Component mở rộng

1.2.3 Modules

Module là một phần nhỏ trong content và nó sẽ được hiển thị ở bất cứ nơi nào mà

template cho phép Modules rất dễ dàng cài đặt trong phần Administrator Section (phía người quản trị), và nó mở rộng ra những khả năng mới của Joomla! Modules của

Joomla có thể bao gồm: Main Menu, Top menu, Template Chooser, Polls, Newsflash, Hit Counter Các thành viên của cộng đồng Joomla liên tục tạo ra những Modules với những tính năng mới Và những modules này được cung cấp hoàn toàn miễn phí trên trang [2] Sau đây là một ví dụ đơn giản về mã lệnh để tải một Modules: <?php mosLoadModules ( 'user1' ); ?>

1.2.4 Mambots

Mambots là một hàm, có chức năng định hướng nhiệm vụ Thông thường nó sẽ ngăn lại content và điều chỉnh nó trước khi cho hiển thị Joomla cũng cung cấp một số Mambot trong các gói cài , ví dụ như {mospagebreak}, {mosimage}

Trang 15

Chương 2: Giới thiệu PHP & MySQL

CHƯƠNG 2 GIỚI THIỆU PHP & MYSQL

2.1 PHP

2.1.1 Lịch sử phát triển của PHP

Năm 1995, Rasmus Lerdorf tạo ra PHP và được công bố với tên gọi ban đầu là PHP/FI PHP/FI được xem như là một tập con đơn giản của các mã kịch bản Perl để theo dõi tình hình truy cập đến bản sơ yếu lý lịch của ông trên mạng Ông đã đặt tên

cho bộ mã kịch bản này là 'Personal Home Page Tools' Khi cần đến các chức năng

rộng hơn, Rasmus đã viết ra một bộ thực thi bằng C lớn hơn để có thể truy vấn tới các

cơ sở dữ liệu và giúp cho người sử dụng phát triển các ứng dụng web đơn giản Rasmus đã quyết định công bố mã nguồn của PHP/FI cho mọi người xem, sử dụng cũng như sửa các lỗi có trong nó đồng thời cải tiến mã nguồn

PHP/FI, là viết tắt từ "Personal Home Page/Forms Interpreter", bao gồm một số

các chức năng cơ bản cho PHP như ta đã biết đến ngày nay Nó có các biến kiểu như Perl, thông dịch tự động các biến của form và cú pháp HTML nhúng Cú pháp này giống như của Perl, mặc dù hạn chế hơn nhiều, đơn giản và có phần thiếu nhất quán Vào năm 1997, PHP/FI 2.0, lần viết lại thứ hai của phiên bản C, đã thu hút được hàng ngàn người sử dụng trên toàn thế giới với xấp xỉ 50.000 tên miền đã được ghi nhận là có cài đặt nó, chiếm khoảng 1% số tên miền có trên mạng Internet Tuy đã có tới hàng nghìn người tham gia đóng góp vào việc tu chỉnh mã nguồn của dự án này thì vào thời đó nó vẫn chủ yếu chỉ là dự án của một người

Không lâu sau khi công bố PHP/FI, bản PHP 3.0 là phiên bản đầu tiên cho chúng

ta thấy một hình ảnh gần gũi với các phiên bản PHP mà chúng ta được biết ngày nay

Nó đã được Andi Gutmans và Zeev Suraski tạo ra năm 1997 sau khi viết lại hoàn toàn

bộ mã nguồn trước đó Lý do chính mà họ đã tạo ra phiên bản này là do nhận họ thấy PHP/FI 2.0 hết sức yếu kém trong việc phát triển các ứng dụng thương mại điện tử mà

họ đang xúc tiến trong một dự án của trường đại học PHP 3.0 như là phiên bản thế hệ

kế tiếp của PHP/FI 2.0, và chấm dứt phát triển PHP/FI 2.0

Một trong những sức mạnh lớn nhất của PHP 3.0 là các tính năng mở rộng mạnh

mẽ của nó Ngoài khả năng cung cấp cho người dùng cuối một cơ sở hạ tầng chặt chẽ dùng cho nhiều cơ sở dữ liệu, giao thức và API khác nhau, các tính năng mở rộng của

Trang 16

Chương 2: Giới thiệu PHP & MySQL

PHP 3.0 đã thu hút rất nhiều nhà phát triển tham gia và đề xuất các mô đun mở rộng mới Hoàn toàn có thể kết luận được rằng đây chính là điểm mấu chốt dẫn đến thành công vang dội của PHP 3.0 Các tính năng khác được giới thiệu trong PHP 3.0 gồm có

hỗ trợ cú pháp hướng đối tượng và nhiều cú pháp ngôn ngữ nhất quán khác

Ngôn ngữ hoàn toàn mới đã được công bố dưới một cái tên mới, xóa bỏ mối liên

hệ với việc sử dụng vào mục đích cá nhân hạn hẹp mà cái tên PHP/FI 2.0 gợi nhắc Nó

đã được đặt tên ngắn gọn là 'PHP', một kiểu viết tắt hồi quy của "PHP: Hypertext Preprocessor"

Vào cuối năm 1998, PHP đã phát triển được con số cài đặt lên tới hàng chục ngàn người sử dụng và hàng chục ngàn Web site báo cáo là đã cài nó Vào thời kì đỉnh cao, PHP 3.0 đã được cài đặt cho xấp xỉ 10% số máy chủ Web có trên mạng Internet PHP 3.0 đã chính thức được công bố vào tháng 6 năm 1998, sau thời gian 9 tháng được cộng đồng kiểm nghiệm

Vào mùa đông năm 1998, ngay sau khi PHP 3.0 chính thức được công bố, Andi Gutmans và Zeev Suraski đã bắt đầu bắt tay vào việc viết lại phần lõi của PHP Mục đích thiết kế là nhằm cải tiến tốc độ xử lý các ứng dụng phức tạp, và cải tiến tính mô đun của cơ sở mã PHP Những ứng dụng như vậy đã chạy được trên PHP 3.0 dựa trên các tính năng mới và sự hỗ trợ khá nhiều các cơ sở dữ liệu và API của bên thứ ba, nhưng PHP 3.0 đã không được thiết kế để xử lý các ứng dụng phức tạp như thế này một cách có hiệu quả

Một Engine mới, có tên 'Zend Engine' (ghép từ các chữ đầu trong tên của Zeev

và Andi), đã đáp ứng được các nhu cầu thiết kế này một cách thành công, và lần đầu tiên được giới thiệu vào giữa năm 1999 PHP 4.0, dựa trên Engine này, và đi kèm với hàng loạt các tính năng mới bổ sung, đã chính thức được công bố vào tháng 5 năm

2000, gần 2 năm sau khi bản PHP 3.0 ra đời Ngoài tốc độ xử lý được cải thiện rất nhiều, PHP 4.0 đem đến các tính năng chủ yếu khác gồm có sự hỗ trợ nhiều máy chủ Web hơn, hỗ trợ phiên làm việc HTTP, tạo bộ đệm thông tin đầu ra, nhiều cách xử lý thông tin người sử dụng nhập vào bảo mật hơn và cung cấp một vài các cấu trúc ngôn ngữ mới Với PHP 4.0, số nhà phát triển dùng PHP đã lên đến hàng trăm nghìn và hàng triệu site đã công bố cài đặt PHP, chiếm khoảng 20% số tên miền trên mạng Internet

Trang 17

Chương 2: Giới thiệu PHP & MySQL

Nhóm phát triển PHP cũng đã lên tới con số hàng nghìn người và nhiều nghìn người khác tham gia vào các dự án có liên quan đến PHP như PEAR, PECL và tài liệu

kĩ thuật cho PHP

Mặc dù PHP 4.0 đã thành công hết sức to lớn, nhưng nhóm phát triển PHP đã nhanh chóng nhận ra những yếu kém của nó, đặc biệt với khả năng hỗ trợ lập trình hướng đối tượng (OOP), xử lý XML, không hỗ trợ giao thức máy khách mới của MySQL 4.1 và 5.0, hỗ trợ dịch vụ web yếu Những điểm này chính là mục đích để Zeev và Andi viết Zend Engine 2.0, lõi của PHP 5.0 Ngày 29 tháng 6 năm 2003, PHP

5 Beta 1 đã chính thức được công bố Đó cũng là phiên bản đầu tiên của Zend Engine 2.0 Phiên bản Beta 2 sau đó đã ra mắt vào tháng 10 năm 2003 với sự xuất hiện của hai

tính năng rất được chờ đợi: “Iterators”, “Reflection” nhưng “Namespaces” một tính

năng gây tranh cãi khác đã bị loại khỏi mã nguồn Ngày 21 tháng 12 năm 2003: PHP 5 Beta 3 đã được công bố để kiểm tra với việc phân phối kèm với Tridy, bỏ hỗ trợ Windows 95, khả năng gọi các hàm PHP bên trong XSLT, sửa chữa nhiều lỗi và thêm khá nhiều hàm mới PHP 5 bản chính thức đã ra mắt ngày 13 tháng 7 năm 2004 sau một chuỗi khá dài các bản kiểm tra thử bao gồm Beta 4, RC1, RC2, RC3 Mặc dù coi đây là phiên bản sản xuất đầu tiên nhưng PHP 5.0 vẫn còn một số lỗi trong đó đáng kể

là lỗi xác thực HTTP Ngày 14 tháng 7 năm 2005, PHP 5.1 Beta 3 được PHP Team công bố đánh dấu sự chín muồi mới của PHP với sự có mặt của PDO, một nỗ lực trong việc tạo ra một hệ thống API nhất quán trong việc truy cập cơ sở dữ liệu và thực hiện các câu truy vấn Ngoài ra, trong PHP 5.1, các nhà phát triển PHP tiếp tục có những cải tiến trong nhân Zend Engine 2, nâng cấp mô đun PCRE lên bản PCRE 5.0 cùng những tính năng và cải tiến mới trong SOAP, streams và SPL

Hiện nay phiên bản tiếp theo của PHP đang được phát triển, bản PHP 6 dùng thử

có thể được tải tại [6] Phiên bản PHP 6 được kỳ vọng sẽ lấp đầy những khiếm khuyết của PHP ở phiên bản hiện tại, ví dụ: hỗ trợ Namespace (hiện tại các nhà phát triển vẫn chưa công bố rõ ràng về vấn đề này); hỗ trợ Unicode; sử dụng PDO làm API chuẩn cho việc truy cập cơ sở dữ liệu, các API cũ sẽ bị đưa ra thành thư viện PECL

Trang 18

Chương 2: Giới thiệu PHP & MySQL

2.1.2 Cộng đồng sử dụng và phát triển PHP tại Việt Nam

Đa số các doanh nghiệp ở Việt Nam hiện nay sử dụng PHP thay cho các công nghệ khác Lý do tương đối đơn giản, đó là vì chi phí cho công nghệ PHP thấp hơn, rất phù hợp cho cách doanh nghiệp vừa và nhỏ, với những ứng dụng không đòi hỏi tính toán nhiều và độ phức tạp cao Theo những thống kê mới nhất [7] , tại Thành phố Hà Nội, tỷ lệ sử dụng ASP.NET/PHP là 1/2,5 còn tỷ lệ này ở Thành phố Hồ Chí Minh là 1/2,3

Những nỗ lực đầu tiên để phổ biến PHP trong đó có dự án xây dựng “Chuẩn viết

mã PHP tiếng Việt” đã được xúc tiến Ngày 24 tháng 10 năm 2004, nhóm PHPVietnam đã đề xuất xây dựng PHPVietnam Mailing List đầu tiên trên Google Groups [8] Tại đây cũng đã diễn ra những thảo luận để xây dựng diễn đàn cho cộng đồng PHP Việt Nam

Có thể nói, tính đến thời điểm hiện tại, người Việt chưa đóng góp được gì nhiều cho cộng đồng PHP trên thế giới Đóng góp lớn nhất ghi nhận đến hiện nay là sự xuất hiện của PHP Designer 2007 do Michael Pham (quốc tịch Việt Nam và Đan Mạch) xây dựng [13] Chủ yếu sự tham gia của cộng đồng PHP tại Việt Nam là thông qua việc dịch các tập tin ngôn ngữ và dựa trên những ứng dụng PHP sẵn có với chút sửa đổi để tạo nên các hệ thống thông tin thuần Việt như NukeViệt của nhóm NukeViệt Cộng đồng PHP người Việt hiện nay cũng cho ra đời khá nhiều script miễn phí PHP để giúp phát triển PHP ở Việt Nam Ngoài ra còn có một số người đã biên dịch các sách PHP ra tiếng Việt, tạo những điều kiện thuận lợi hơn cho những người mới tham gia vào cộng đồng PHP

2.1.3 Cấu trúc cơ bản của mã PHP

PHP 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ở, dùng cho mục đích tổng quát Nó rất thích hợp vrớ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

Trang 19

Chương 2: Giới thiệu PHP & MySQL

Đoạn mã sau minh họa cách viết PHP lồng vào các trang HTML :

PHP xử lý các biến rất linh động Nó có thể nhận biết được kiểu của biến và làm cho cú pháp câu lệnh đơn giản hơn Ai đã từng lập trình với C, Java sẽ cảm thấy rất dễ dàng khi sử dụng PHP Tuy nhiên việc dễ dài này lại gây ra một vài trở ngại Trong PHP tất cả các biến số được bắt đầu bằng dấu $ Dù cho biến của bạn là kiểu chuỗi, nguyên hay thập phân hoặc thậm chí là mảng thì chúng không có gì khác biệt nhau PHP chỉ theo dõi dữ liệu chứa trong biết thay đổi như thế nào mà thôi

Nói chung khi làm việc với PHP chúng ta cần quan tâm đến 3 vị trí khác nhau của biến đó là :

1- Khai báo ngay trong mã lệnh PHP

2- Chuyển tiếp từ một trang HTML

3- Là biến sẵn có của hệ thống PHP

Trang 20

Chương 2: Giới thiệu PHP & MySQL

2.2 MySQL

MySQL là một ngôn ngữ máy tính phổ biến để tạo, sửa, và lấy dữ liệu từ một hệ quản trị cơ sở dữ liệu quan hệ Ngôn ngữ này phát triển vượt xa so với mục đích ban đầu là để phục vụ các hệ quản trị cơ sở dữ liệu đối tượng-quan hệ Nó là một tiêu chuẩn ANSI/ISO

2.2.1 Lịch sử phát triển

Từ một bài báo tham dự hội thảo khoa học A Relational Model of Data for Large

Share Data Banks (tạm dịch là "Mô hình quan hệ cho dữ liệu dùng trong ngân hàng dữ

liệu chia sẻ có khối lượng lớn") của tiến sĩ Edgar F Codd xuất bản tháng 6 năm 1970 trong tạp chí Communications of the ACM của Hiệp hội ACM, một mô hình đã được chấp nhận rộng rãi là mô hình tiêu chuẩn dùng cho hệ thống quản lý cơ sở dữ liệu quan hệ

Giữa những năm 1970, một nhóm các nhà phát triển tại trung tâm nghiên cứu của IBM tại San Jose phát triển hệ thống cơ sở dữ liệu "Hệ thống R" dựa trên mô hình của Codd Structured English Query Language, viết tắt là "SEQUEL" (tạm dịch là "Ngôn ngữ truy vấn tiếng Anh có cấu trúc"), được thiết kế để quản lý và truy lục dữ liệu được lưu trữ trong “Hệ thống R” Sau này, tên viết tắt SEQUEL được rút gọn thành SQL để tránh việc tranh chấp nhãn hiệu (từ SEQUEL đã được một công ty máy bay của UK là Hawker-Siddeley đăng ký) Mặc dù SQL bị ảnh hưởng bởi công trình của tiến sĩ Codd nhưng nó không do tiến sĩ Codd thiết kế ra Ngôn ngữ SEQUEL được thiết kế bởi Donald D Chamberlin và Raymond F Boyce tại IBM, và khái niệm của họ được phổ biến để tăng sự chú ý về SQL Phiên bản cơ sở dữ liệu quan hệ phi thương mại, không

hỗ trợ SQL đầu tiên được phát triển năm 1974.(Ingres from U.C Berkeley.)

Năm 1978, việc thử nghiệm phương pháp được khởi đầu tại một cơ sở thử nghiệm của khách hàng Cuộc thử nghiệm đã chứng minh được sự có ích và tính thực tiễn của hệ thống và đã chứng tỏ sự thành công của IBM Dựa vào kết quả đó, IBM bắt đầu phát triển các sản phẩm thương mại bổ xung thêm SQL dựa trên nguyên mẫu Hệ thống R bao gồm System/38 (Hệ thống/38) (được công bố năm 1978 và được thương mại hóa tháng 8 năm 1979, SQL/DS (được giới thiệu vào năm 1981) và DB2 (năm 1983)

Trang 21

Chương 2: Giới thiệu PHP & MySQL

các tổ chức khác Vào mùa hè năm 1979, Relational Software, Inc giới thiệu Oracle V2 (Phiên bản 2), phiên bản thương mại đầu tiên hỗ trợ SQL cho máy tính VAX Oracle thường xuyên được nhắc tới một cách không nghiêm túc vì đã tấn công thị trường của IBM trong 2 năm, nhưng việc táo bạo nhất trong quan hệ công chúng của

họ là tấn công một phiên bản của IBM System/38 chỉ trong có vài tuần Tương lai của Oracle đã được đảm bảo vì có sự quan tâm đáng kể của công chúng sau đó mới phát triển, trong khi đã có nhiều phiên bản của các nhà cung cấp khác

IBM đã quá chậm trong việc phát triển SQL và các sản phẩm quan hệ, có lẽ vì ban đầu nó không dùng được trong môi trường Unix và máy tính lớn (Mainframe), và

họ sợ nó sẽ làm giảm lợi nhuận thu được từ việc bán các sản phẩm cơ sở dữ liệu IMS (những sản phẩm dựa trên mô hình cơ sở dữ liệu định hướng chứ không phải cơ sở dữ liệu quan hệ) của mình Trong lúc đó, Oracle vẫn đang phát triển, IBM đang phát triển System/38, được mong đợi là hệ cơ sở dữ liệu quan hệ đầu tiên của họ Với năng lực

và thiết kế tiên tiến của nó, người ta cho rằng nó có thể sẽ thay thế cho hệ thống Unix

Trang 22

Chương 2: Giới thiệu PHP & MySQL

2.2.2 Một số từ khóa thông dụng trong SQL:

muốn lấy ra chứ không chỉ ra những hành động vật lý nào bắt buộc phải thực

hiện để lấy ra kết quả đó Hệ thống cơ sở dữ liệu, hay chính xác hơn là bộ tối ưu hóa câu truy vấn sẽ dịch từ câu truy vấn sang kế hoạch truy vấn tối ưu

o Những từ khóa liên quan tới SELECT bao gồm:

ƒ FROM dùng để chỉ định dữ liệu sẽ được lấy ra từ những bảng nào,

và các bảng đó quan hệ với nhau như thế nào

ƒ WHERE dùng để xác định những bản ghi nào sẽ được lấy ra, hoặc

áp dụng với GROUP BY

ƒ GROUP BY dùng để kết hợp các bản ghi có những giá trị liên quan với nhau thành các phần tử của một tập hợp nhỏ hơn các bản ghi

ƒ HAVING dùng để xác định những bản ghi nào, là kết quả từ từ khóa GROUP BY, sẽ được lấy ra

ƒ ORDER BY dùng để xác định dữ liệu lấy ra sẽ được sắp xếp theo những cột nào

b Sửa đổi dữ liệu :

Ngôn ngữ sửa đổi dữ liệu (Data Manipulation Language - DML), là môt phần nhỏ của ngôn ngữ, có những thành phần tiêu chuẩn dùng để thêm, cập nhật và xóa dữ liệu delete data

• INSERT dùng để thêm dữ liệu vào một bảng đã tồn tại

Trang 23

Chương 2: Giới thiệu PHP & MySQL

• MERGE dùng để kết hợp dữ liệu của nhiều bảng Nó được dùng như việc kết hợp giữa hai phần tử INSERT và UPDATE

• DELETE xóa những bản ghi tồn tại trong một bảng

• TRUNCATE Xóa toàn bộ dữ liệu trong một bảng (không phải là tiêu chuẩn, nhưng là một lệnh SQL phổ biến)

c Giao dịch dữ liệu:

Giao dịch, nếu có, dùng để bao bọc các thao tác sửa đổi dữ liệu

• BEGIN WORK (hoặc START TRANSACTION, tùy theo các ngôn ngữ SQL khác nhau) được sử dụng để đánh dấu việc bắt đầu một giao dịch dữ liệu (giao dịch dữ liệu đó có kết thúc hoàn toàn hay không)

• COMMIT dùng để lưu lại những thay đổi trong giao dịch

• ROLLBACK dùng để quay lại thời điểm sử dụng lệnh COMMIT cuối cùng

Trang 24

Chương 3: Xây dựng hệ thống

CHƯƠNG 3 XÂY DỰNG HỆ THỐNG

Mục tiêu của luận văn là xây dựng hệ thống cung cấp dịch vụ nghe nhạc / xem video trực tuyến Hệ thống này sẽ được xây dựng trên nền hệ quản trị nội dung Joomla, một trong những hệ quản trị nội dung mã nguồn mở mạnh nhất hiện nay Trong chương 3 này, chúng tôi sẽ trình bày các bước phân tích, thiết kế hệ thống từ bài toán được mô tả ở phần dưới đây

3.1 Mô tả bài toán

Hệ thống cung cấp dịch vụ nghe nhạc / xem video trực tuyến là một hệ thống cho phép mọi người nghe nhạc mà không cần phải đăng ký là thành viên Người dùng có thể tìm kiếm các bài hát, các nhạc sỹ, album, ca sỹ Nếu trong cơ sở dữ liệu có, nó sẽ trả về kết quả cho người dùng

Chức năng quản lý nội dung của hệ thống bao gồm: chỉnh sửa, thêm , xoá các bài hát , các album, tất cả những thao tác này chỉ có thể được thực hiện bởi người quản trị của hệ thống

Một bài hát mới khi được thêm vào phải được phân loại theo các thể loại nhạc: nhạc trẻ, nhạc cách mạng, nhạc không lời Bài hát mới có thể có hoặc không thuộc 1 album cụ thể nào cả Nó cũng có thể có hoặc không có thông tin về Nhạc sỹ hoặc Ca

sỹ thể hiện bài hát đó

Khi xoá một bài hát, cơ sở dữ liệu về bài hát đó sẽ được xoá, đồng thời File lưu

bài hát đó trên máy chủ cũng sẽ được xoá ngay lập tức

Khi sửa một bài hát, nếu người quản trị tải lên một bài hát khác mà không xoá

bài hát cũ, thì nội dung mới của bài hát coi như thành hai đoạn, mỗi đoạn là một File

Ngày đăng: 12/04/2013, 13:23

HÌNH ẢNH LIÊN QUAN

BẢNG CHÚ GIẢI THUẬT NGỮ - Xây dựng hệ thống cung cấp dịch vụ nghe nhạc xem video trực tuyến
BẢNG CHÚ GIẢI THUẬT NGỮ (Trang 7)
Hình 2: Component quản lý các bài hát - Xây dựng hệ thống cung cấp dịch vụ nghe nhạc xem video trực tuyến
Hình 2 Component quản lý các bài hát (Trang 39)
Hình 3.Giao diện phần chỉnh sửa/thêm mới bài hát - Xây dựng hệ thống cung cấp dịch vụ nghe nhạc xem video trực tuyến
Hình 3. Giao diện phần chỉnh sửa/thêm mới bài hát (Trang 40)
Hình 4. Component quản lý Album - Xây dựng hệ thống cung cấp dịch vụ nghe nhạc xem video trực tuyến
Hình 4. Component quản lý Album (Trang 41)
Hình 5. Giao diện phần chỉnh sửa Album - Xây dựng hệ thống cung cấp dịch vụ nghe nhạc xem video trực tuyến
Hình 5. Giao diện phần chỉnh sửa Album (Trang 42)
Hình 6. Component quản lý nhạc sỹ - Xây dựng hệ thống cung cấp dịch vụ nghe nhạc xem video trực tuyến
Hình 6. Component quản lý nhạc sỹ (Trang 43)
Hình 7. Giao diện phần chỉnh sửa thông tin Nhạc sỹ - Xây dựng hệ thống cung cấp dịch vụ nghe nhạc xem video trực tuyến
Hình 7. Giao diện phần chỉnh sửa thông tin Nhạc sỹ (Trang 44)
Hình 8. Component quản lý Ca sỹ - Xây dựng hệ thống cung cấp dịch vụ nghe nhạc xem video trực tuyến
Hình 8. Component quản lý Ca sỹ (Trang 45)
Hình 9. Giao diện phần chỉnh sửa Ca sỹ - Xây dựng hệ thống cung cấp dịch vụ nghe nhạc xem video trực tuyến
Hình 9. Giao diện phần chỉnh sửa Ca sỹ (Trang 46)

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