Thông tin tài liệu
Nghiên cứu mô hình thực thể Model-View-Controller ứng dụng xây dựng trên mã nguồn mở Joomla
LỜI CẢM ƠN
Sau một thời gian thực tập tại Trung tâm CNTT & TT Hà Tĩnh dưới sự hướng
dẫn của Cán bộ Lê Viết Kiên Trung tâm, cùng với sự giúp đỡ của ban Giám đốc và
tất cả nhân viên trong trung tâm, chúng em đã thu được những kiến thức về chuyên
môn lẫn kinh nghiệm hết sức quý báu.
Em xin chân thành cảm ơn Ban Chủ Nhiệm khoa Công nghệ thông tin trường
Đại học Hà Tĩnh đã tạo mọi điều kiện cho chúng em đi thực tập. Chúng em xin cảm
ơn ban Giám đốc Trung tâm CNTT & TT Hà Tĩnh đã tiếp nhận, hướng dẫn tận
tình cho chúng em trong suốt quá trình hoàn thành khóa thực tập.
Chúng em cũng chân thành cảm ơn toàn thể anh chị trong các phòng ban trong
trung tâm đã hướng dẫn, cung cấp tài liệu để em hoàn thành công việc hiện thực đề
tài của chúng em.
Trong quá trình thực tập, một sinh viên như chúng em chắc chắn sẽ không tránh
khỏi những sai sót, rất mong quý trung tâm thông cảm bỏ qua cho chúng em.
Một lần nữa chúng em xin chân thành cảm ơn!
Hà Tĩnh, ngày 04 tháng 05 năm 2013
Nhóm sinh viên thực tập
1.Trần Văn Lực.
2. Nilavon-Phonmachac.
MỤC LỤC
SVTH: Trần Văn Lực – Nilavon Phonmanchac Lớp: K2-CNTT
1
Nghiên cứu mô hình thực thể Model-View-Controller ứng dụng xây dựng trên mã nguồn mở Joomla
DANH SÁCH HÌNH ẢNH
Với sự phát triển nhảy vọt của công nghệ thông tin hiện nay, Internet ngày
càng giữ vai trò quan trọng trong các lĩnh vực khoa học kĩ thuật và đời sống Với
mạng Internet, tin học thật sự tạo nên một cuộc cách mạng trao đổi thông tin trong
mọi lĩnh vực văn hóa, xã hội, chính trị, kinh tế
Trong thời đại ngày nay, thời đại mà “người người làm Web, nhà nhà làm
Web” thì việc có một Website để quảng bá công ty hay một Website tin tức không
còn là điều gì quá khó khăn nữa. Bây giờ người ta thường thiết kế web sử dụng mã
nguồn mở (Open Source).
Open Source: phần mềm có mã nguồn mở Free software: phần mềm miễn
phí, đôi khi free software được dùng với ý nghĩa bao gồm cả open-source software
và free software.
Tiện ích mà Open Source mang lại chính là quyền tự do sử dụng chương
trình cho mọi mục đích, quyền tự do để nghiên cứu cấu trúc của chương trình,
chỉnh sữa phù hợp với nhu cầu, truy cập vào mã nguồn, quyền tự do phân phối lại
SVTH: Trần Văn Lực – Nilavon Phonmanchac Lớp: K2-CNTT
2
Nghiên cứu mô hình thực thể Model-View-Controller ứng dụng xây dựng trên mã nguồn mở Joomla
các phiên bản cho nhiều người, quyền tự do cải tiến chương trình và phát hành
những bản cải tiến vì mục đích công cộng.
Với mong muốn tìm hiểu và có thể đưa ra một trang web Tin Tức dựa trên
mã nguồn mở có thể giải quyết được yêu cầu của thực tế mang lại thông tin giải trí
trong cộng đồng mạng. Được sự cho phép của nhà trường và bộ môn tôi đã đi thực
hiện đề tài với nội dung :”Nghiên cứu mô hình thực thể Model – View –
Controller ứng dụng trên mã nguồn mở Joomla”.
CHƯƠNG 1
LỊCH SỬ PHÁT TRIỂN VÀ KIẾN TRÚC JOOMLA
1. Lịch sử phát triển và kiến trúc Joomla
1.1 Joomla là gì ?
Hình 1. 1: Biểu tượng Joomla
Đầu tiên dễ dàng tìm hiểu về Joomla đó là:
- Joomla là một Open Source.
- Là một hệ quản trị nội dung mã nguồn mở.
- Joomla được viết bằng ngôn ngữ PHP và kết nối tới cơ sở dữ liệu MySQL.
- Joomla cho phép người dùng thêm, sửa , xóa đưa thông tin lên Internet một
cách dễ dàng.
SVTH: Trần Văn Lực – Nilavon Phonmanchac Lớp: K2-CNTT
3
Nghiên cứu mô hình thực thể Model-View-Controller ứng dụng xây dựng trên mã nguồn mở Joomla
1.2 Ứng dụng của Joomla
Joomla có thể làm được rất nhiều công việc trên Internet. Sau đây là một số
ứng dụng cơ bản mà Joomla ứng dụng vào mạnh nhất và người dùng chọn joomla
để đáp ứng nhu cầu cần thiết :
- Cổng thông tin điện tử truyền thông và doanh nghiệp.
- Thương mại điện tử, báo điện tử trực tuyến.
- Website cho các doanh nghiệp, cơ quan, chính phủ, trường học,
1.3 Lịch sử hình thành
Cũng như các mã nguồn khác và các sản phẩm công nghệ khác như
facebook, nukeviet, vbb, mybb và nhiều sản phẩm công nghệ trực tuyến khác thì
Joomla cũng là một trong những sản phẩm công nghệ được nhiều người tín nhiệm
và được nhiều chính phủ quốc gia khuyên dùng.
Joomla là “ sản phẩm anh em” với Mambo giữa tập đoàn Miro của Úc ( hiện
đang nắm giữ Mambo ) với phần đông những người phát triển nòng cốt.
Nhờ sự giúp đỡ của trung tâm Luật sư tự do phần mềm 20 thành viên nòng
cốt cũ của Mambo đã thành lập một tổ chức phi lợi nhuận lấy tên là Open Source
Matter.
Ngày 16 tháng 9 năm 2005 cho ra đời phiên bản Joomla 1.0.
1.4 Các phiên bản của Joomla
Trải qua chặng đường về thời gian, từng ngày hoàn thiện mình. Joomla mỗi
ngày một mới với từng phiên bản, sự bảo mật nâng cấp phiên bản đáp ứng đầy đủ
mọi tính năng cần thiết cho một website. Joomla trải qua các phiên bản sau:
- Dòng phiên bản 1.0.x : có một số lượng lớn các thành phần mở rộng, thành
phần nhúng, giao diện. Phiên bản 1.0.0 được phát hành đầu tiên vào ngày 16
SVTH: Trần Văn Lực – Nilavon Phonmanchac Lớp: K2-CNTT
4
Nghiên cứu mô hình thực thể Model-View-Controller ứng dụng xây dựng trên mã nguồn mở Joomla
tháng 9 năm 2005. Phiên bản phát hành mới nhất là Joomla 1.0.5 vào ngày
22 tháng 2 năm 2008.
- Dòng phiên bản 1.5.x : Phần quản trị Website sử dụng công nghệ Web 2.0,
một số tính năng được cải tiến so với phiên bản 1.0.x. Phiên bản mới nhất
được phát hành vào ngày 03 tháng 06 năm 2009.
- Dòng phiên bản 1.6.x : được phát hành vào ngày 10 tháng 01 năm 2011. Kết
thúc vào ngày 26 tháng 07 năm 2011.
- Dòng phiên bản 1.7.x : được phát hành vào ngày 19 tháng 07 năm 2011. Kết
thúc vào ngày 24 tháng 02 năm 2012 nhường chổ cho phiên bản 2.5.
- Dòng phiên bản 2.5.x : được phát hành vào ngày 24 tháng 01 năm 2012. Kết
thúc vào ngày 19 tháng 06 năm 2012. Điểm mạnh của phiên bản này là: Tự
động cập nhật qua nút bấm trong phần quản trị, hỗ trợ SEO mạnh hơn, phân
quyên sâu hơn với từng thành viên.
- Dòng phiên bản 3.0.x : đang ở giai đoạn Joomla 3.0 Alpha được phát hành
vào ngày 12 tháng 7 năm 2012.
2. Joomla Content Management System
2.1 Content Management System là gì?
Content Management System ( gọi tắt là CMS) dịch sang tiếng việt là hệ
quản trị nội dung.
2.2 Joomla sử dụng Content Management System
Khi bạn biết về HTML và Content Management System, nội dung trang của
bạn sẽ được bạn trang trí đẹp hơn, bố cục gọn gàng hơn chuyên nghiệp cộng với
một số hiệu ứng bắt mắt hơn.
Một trang web được gọi là động khi nội dung, hình ảnh hiển thị trên trang
web đều có thể thay đổi tùy chọn, cập nhật được mà không cần đến kỹ thuật viên.
Do vậy cần phải có môt hệ thống đảm trách công việc này, hệ thống đó được
gọi là hệ quản trị nội dung, chính là Content Management System gọi tắt là CMS.
SVTH: Trần Văn Lực – Nilavon Phonmanchac Lớp: K2-CNTT
5
Nghiên cứu mô hình thực thể Model-View-Controller ứng dụng xây dựng trên mã nguồn mở Joomla
Với sự phát triển mạnh mẽ và không ngừng của Internet. Joomla ra đời cũng
sử dụng CMS để đáp ứng được nhu cầu của cộng đồng mạng.
CHƯƠNG 2
NGHIÊN CỨU MÔ HÌNH MODEL - VIEW - CONTROLLER
1. Lịch sử hình thành mô hình Model – View - Controller
1.1 Lịch sử hình thành mô hình Model – View - Controller
Mô hình Model – View - Controller đã trở nên thông dụng trong các nền
tưởng tảng công nghệ khác nhau từ LAMP ( PHP, MySQL ) tới ASP.NET (asp.net,
mysql) Thông tin bài viết này sẽ giúp bạn rõ hơn về mô hình lập trình mới và
ngày càng được ưa chuộng này.
Bắt đầu vào những năm 70 của thế kỷ 20 tại phòng thí nghiệm Xerox PARC
ở Palo Alto. Sự ra đời của giao diện đồ họa và lập trình hướng đối tượng cho phép
lập trình viên làm việc với những thành phần đồ họa như những đối tượng đồ họa
có thuộc tính và phương thức riêng của nó. Không dừng lại ở đó, những nhà nghiên
cứu ở Xerox PARC còn đi xa hơn khi cho ra đời cái gọi là kiến trúc Model – View
– Controller ( viết tắt là MVC).
Trong kiến trúc Model – View – Controller một đối tượng đồ họa (GUI
Compent) bao gồm 3 thành phần cơ bản: Model, View và Controller. Model có
trách nhiệm đối với toàn bộ dữ liệu cũng như trạng thái của đối tượng đồ họa. View
chính là thể hiện trực quan của Model, hay nói cách khác chính là giao diện của đối
tượng đồ họa. Và Controller điều khiển việc tương tác giữa đối tượng đồ họa với
người sử dụng cũng như những đối tượng khác.
SVTH: Trần Văn Lực – Nilavon Phonmanchac Lớp: K2-CNTT
6
Nghiên cứu mô hình thực thể Model-View-Controller ứng dụng xây dựng trên mã nguồn mở Joomla
1.2 Kiến trúc Model - View - Controller
Kiến trúc Model – View – Controller đã tách biệt sự phụ thuộc giữa các
thành phần trong một đối tượng đồ họa, làm tăng tính linh động và tính tái sử dụng
của đối tượng đồ họa đó. Một đối tượng đồ họa bấy giờ có thể dễ dàng thay đổi
giao diện bằng cách thay đổi thành phần View của nó trong khi cách thức lưu trữ
(Model) cũng như xử lý (Controller) không hề thay đổi. Tương tự, ta có thể thay
đổi cách thức lưu trữ (Model) hoặc xử lý (Controller) của đối tượng đồ họa mà
những thành phần còn lại vẫn giữ nguyên.
Kiến trúc Model – View - Controller đã được ứng dụng để xây dựng rất
nhiều framework và thư viện đồ họa khác nhau.
1.3 Lưu ý khi cài đặt kiến trúc Model – View - Controller
- Thành phần Model không cần thiết phải biết đến các View và Controller cụ
thể gắn kết với nó. Khi có thay đổi, Model chỉ việc phát thông điệp cho
những ai đăng ký với nó. Điều này có thể được thực hiện thông qua Observer
Pattern.
- Nên áp dụng Facade Pattern để kết hợp Model, View, và Controller lại với
nhau thành “3 trong 1” cho dễ quản lý và thao tác đối với người sử dụng.
- Kiến trúc Model - View - Controller không phải là kiến trúc 3 tầng (3-Tiers
Architecture). Mặc dù giữa 2 kiến trúc này có nhiều điểm tương đồng nhưng
chúng nói về 2 khía cạnh khác nhau.
SVTH: Trần Văn Lực – Nilavon Phonmanchac Lớp: K2-CNTT
7
Nghiên cứu mô hình thực thể Model-View-Controller ứng dụng xây dựng trên mã nguồn mở Joomla
2. Mô hình Model - View - Controller đơn giản
Hình 1. 2: Mô hình Model - View - Controller đơn giản
- File model.php dùng để xử lý thông tin trong database
<?php
function dbconnect()
{
static $connect = null;
if ($connect === null) {
$connect = mysql_connect('myserver', 'mylogin', 'mypassword');
mysql_select_db('myDB');
}
return $connect;
}
function get_news($id)
{
$news_req = mysql_query("SELECT * FROM news WHERE id='$news_id'
",dbconnect());
SVTH: Trần Văn Lực – Nilavon Phonmanchac Lớp: K2-CNTT
8
Nghiên cứu mô hình thực thể Model-View-Controller ứng dụng xây dựng trên mã nguồn mở Joomla
return mysql_fetch_array($news_req);
}
function get_comment($news_id)
{
$comment_req = mysql_query("SELECT * FROM commentaires WHERE n
ews_id='$news_id'",dbconnect());
$result = array();
while ($comment = mysql_fetch_array($comment_req)) {
$result[] = $comment;
}
return $result;
}
function insert_comment($comment)
{
mysql_query("INSERT INTO commentaires SET news_id='{$comment['ne
ws_id']}',
auteur='".mysql_real_escape_string($comment['auteur'])."',
texte='".mysql_real_escape_string($comment['texte'])."',
date=NOW()"
,dbconnect() ); }
- File controller.php để xử lý vấn đề
<?php
require ('mymodel.php');
if ($_SERVER['REQUEST_METHOD'] == 'POST') { insert_comment($_P
OST); header("HTTP/1.1 301 Moved Permanently");
SVTH: Trần Văn Lực – Nilavon Phonmanchac Lớp: K2-CNTT
9
Nghiên cứu mô hình thực thể Model-View-Controller ứng dụng xây dựng trên mã nguồn mở Joomla
header("location: {$_SERVER['PHP_SELF']}?
news_id={$_POST['news_id']}");
exit; }
else { $news = get_news($_GET['news_id']);
$comments = get_comments($_GET['news_id']);
require ('myview.php');
}
?>
CHƯƠNG 3
NGHIÊN CỨU MÔ HÌNH MODEL – VIEW – CONTROLLER TRONG
MÃ NGUỒN MỞ JOOMLA
1. Nghiên cứu mô hình Model - View - Controller trong mã nguồn mở Joomla
Bắt đầu từ phiên bản Joomla 1.5.x hoặc các phiên bản sau này, Joomla đã
đưa vào một framework mới, mang lại những thuận tiên rất lớn cho những người
phát triển. Các đoạn code giờ đây rất dễ dàng để kiểm tra và khá rõ ràng.
Framework này đưa ra một mẫu thiết kế mới, thiết kế Model - View - Controller
trong Joomla.
Model – View - Controller (gọi tắt là MVC) là một mẫu thiết kế phần mềm
được dùng để tổ chức các đoạn mã theo cách mà việc xử lý dữ liệu và biểu diễn dữ
liệu tách rời nhau. Điều này tạo ra tiền đề cho hướng tiếp cận sau này khi mà việc
xử lý dữ liệu được nhóm vào trong một section, khi đó giao diện hay quá trình
tương tác với người dùng bao quanh dữ liệu có thể được định dạng và tùy biến lại
mà không phả định dạng và tùy biến lại việc lập trình xử lý đó nữa.
1.1 Hiểu sâu về Joomla
- Thành phần cơ bản : Font – end (hiển thị nội dung trang web). Back – end (là
phần quản lý website dành cho người quản trị, chủ nhân của website).
SVTH: Trần Văn Lực – Nilavon Phonmanchac Lớp: K2-CNTT
10
[...]... K2-CNTT Nghiên cứu mô hình thực thể Model-View-Controller ứng dụng xây dựng trên mã nguồn mở Joomla Hình 1 31: Hiển thị nội dung trang website Hình 1 32: Hiển thi thông tin chân trang SVTH: Trần Văn Lực – Nilavon Phonmanchac 28 Lớp: K2-CNTT Nghiên cứu mô hình thực thể Model-View-Controller ứng dụng xây dựng trên mã nguồn mở Joomla CHƯƠNG 4 THẢO LUẬN KẾT QUẢ THỰC TẬP 1 Thảo luận của kết quả quá trình nghiên. .. ……………………………………………………………………………………… SVTH: Trần Văn Lực – Nilavon Phonmanchac 29 Lớp: K2-CNTT Nghiên cứu mô hình thực thể Model-View-Controller ứng dụng xây dựng trên mã nguồn mở Joomla 2 Ưu điểm hệ thống Trong quá trình nghiên cứu mô hình Model - View - Controller cùng thực thi mô hình Model - View - Controller trên mã nguồn mở Joomla, xây dựng trang tin tức chia sẽ trực tuyến Được sự giúp đỡ của Trung Tâm CNTT & TT... Model-View-Controller ứng dụng xây dựng trên mã nguồn mở Joomla Hình 1 20: Cài đặt một Module Joomla! từ trang quản trị 3.3 Cách tạo một số module a Menu - Từ Module manager chọn new -> Menu Hình 1 21: Tạo mới menu SVTH: Trần Văn Lực – Nilavon Phonmanchac 22 Lớp: K2-CNTT Nghiên cứu mô hình thực thể Model-View-Controller ứng dụng xây dựng trên mã nguồn mở Joomla - Chi tiết các thông tin menu Hình 1 22: Giao... 24 Lớp: K2-CNTT Nghiên cứu mô hình thực thể Model-View-Controller ứng dụng xây dựng trên mã nguồn mở Joomla Hình 1 25: Menu quản lý Joomla Plugin từ trang quản trị 4.2 Cài đặt Joomla Plugin Hình 1 26: Cài đặt một Joomla Plugin từ trang quản trị 5 Joomla Template 5.1 Giới thiệu về Joomla Template Joomla Template là một gói bao gồm các file PHP, HTLM, CSS, JS (Javascript) … và các tấm hình ảnh, biểu tượng,... hình ảnh được hiển thị trên trang web) 2 Phân tích lớp Joomla trong mô hình Model - View - Controller 2.1 Giới thiệu về Component Hình 1 3: Hình ảnh về Component SVTH: Trần Văn Lực – Nilavon Phonmanchac 11 Lớp: K2-CNTT Nghiên cứu mô hình thực thể Model-View-Controller ứng dụng xây dựng trên mã nguồn mở Joomla Component chịu trách nhiệm phản hồi các hành động của người dùng Đây là phần cốt lõi của Joomla. .. theo tạo nên giao diện, bố cục của website Joomla SVTH: Trần Văn Lực – Nilavon Phonmanchac 25 Lớp: K2-CNTT Nghiên cứu mô hình thực thể Model-View-Controller ứng dụng xây dựng trên mã nguồn mở Joomla Hình 1 27: Quản lý Template Joomla từ trang quản trị 5.2 Cài đặt Template Joomla Hình 1 28: Cài đặt Template Joomla từ trang quản trị Chúng ta mở trang quản trị và sử dụng menu Extensions >> Install / Unistall... Upload từ máy tính của bạn - Cài đặt từ 1 thư mục trên hosting - Cài đặt từ một liên kết bên ngoài Webssite của bạn SVTH: Trần Văn Lực – Nilavon Phonmanchac 26 Lớp: K2-CNTT Nghiên cứu mô hình thực thể Model-View-Controller ứng dụng xây dựng trên mã nguồn mở Joomla 6 Một số hình ảnh về trang tin tức theo Joomla Hình 1 29: Hiển thị menu của trang thông tin Hình 1 30: Hiện thị phần nội dung của trang website... 2.2 Cài đặt Joomla Component Hình 1 4: Cài đặt Component 2.3 Các component tích hợp trong Joomla a Contact SVTH: Trần Văn Lực – Nilavon Phonmanchac 12 Lớp: K2-CNTT Nghiên cứu mô hình thực thể Model-View-Controller ứng dụng xây dựng trên mã nguồn mở Joomla Contact Manager cho phép bạn quản lý một danh sách các contact (liên hệ) trong site Khi bạn thiết lập các contact, các visitor sẽ có thể tìm các... component -> chọn contacts -> contacts Hình 1 8: Tạo contact con mới - Điền các thông tin về contact SVTH: Trần Văn Lực – Nilavon Phonmanchac 14 Lớp: K2-CNTT Nghiên cứu mô hình thực thể Model-View-Controller ứng dụng xây dựng trên mã nguồn mở Joomla Hình 1 9: Giao diện thông tin contact - Các tham số cho biết các chi tiết thông tin nào được thể hiện cho người dùng xem Hình 1 10: Chi tiêt các tham số thông... Phonmanchac 18 Lớp: K2-CNTT Nghiên cứu mô hình thực thể Model-View-Controller ứng dụng xây dựng trên mã nguồn mở Joomla Hình 1 17: Giao diện web link - Name :Nhập tên web link là tên sẽ xuất hiện trên site Category : Chọn category mong mốn URL: Nhập địa chỉ web link Description: Thêm đoạn nhỏ mô tả Order: Sắp xếp thứ tự các web links Target : Điều hướng trình duyệt khi mở liên kết Sau khi tạo các web . Phonmanchac Lớp: K2-CNTT 7 Nghiên cứu mô hình thực thể Model-View-Controller ứng dụng xây dựng trên mã nguồn mở Joomla 2. Mô hình Model - View - Controller đơn giản Hình 1. 2: Mô hình Model - View -. Model-View-Controller ứng dụng xây dựng trên mã nguồn mở Joomla 1.2 Ứng dụng của Joomla Joomla có thể làm được rất nhiều công việc trên Internet. Sau đây là một số ứng dụng cơ bản mà Joomla ứng dụng vào mạnh. K2-CNTT 5 Nghiên cứu mô hình thực thể Model-View-Controller ứng dụng xây dựng trên mã nguồn mở Joomla Với sự phát triển mạnh mẽ và không ngừng của Internet. Joomla ra đời cũng sử dụng CMS để đáp ứng
Ngày đăng: 02/04/2014, 07:20
Xem thêm: Nghiên cứu mô hình thực thể Model-View-Controller ứng dụng xây dựng trên mã nguồn mở Joomla pptx, Nghiên cứu mô hình thực thể Model-View-Controller ứng dụng xây dựng trên mã nguồn mở Joomla pptx, LỊCH SỬ PHÁT TRIỂN VÀ KIẾN TRÚC JOOMLA, NGHIÊN CỨU MÔ HÌNH MODEL - VIEW - CONTROLLER, MÃ NGUỒN MỞ JOOMLA, 3 Các component tích hợp trong Joomla, 3 Cách tạo một số module