Tải bản đầy đủ (.doc) (73 trang)

xây dựng framework tạo website đám cưới cá nhân

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.96 MB, 73 trang )

LỜI CẢM ƠN
Luận văn tốt nghiệp là quá trình sinh viên thể hiện năng lực, kỹ năng làm việc,
nghiên cứu thực tế của mình trước khi rời khỏi giảng đường đại học. Bằng sự nỗ lực
của bản thân cùng với sự giúp đỡ của thầy cô, bạn bè, em đã thực hiện đề tài “Xây
dưng Framework tạo website đám cưới cá nhân” hoàn thành
Để có được kết quả này, em xin gửi lời cảm ơn chân thành đến thầy Nguyễn
Lương Anh Tuấn. Cảm ơn Thầy đã dành thời gian và nhiệt huyết tận tình hướng dẫn
em trong suốt thời gian thực hiện đề tài luận văn này.
Em cũng xin gửi lời cảm ơn đến các thầy cô trong khoa Công Nghệ Thông Tin,
trường Đại Học Giao Thông Vận Tải thành phố Hồ Chí Minh đã truyền dạy cho sinh
viên khoa Công Nghệ Thông tin và em những kiến thức, kinh nghiệm quý báu, niềm
say mê với những nền tảng công nghệ hiện đại trong suốt những năm trên giảng đường
đại học.
Xin chúc thầy cô, các bạn lời chúc sức khỏe, luôn đạt được thành công trong sự
nghiệp, trong gia đình và ngoài xã hội.
Mặc dù em đã cố gắng hoàn thành luận văn trong phạm vi và khả năng cho phép
nhưng chắc chắn sẽ không tránh khỏi những thiếu sót. Em rất mong nhận được sự
thông cảm, góp ý và tận tình chỉ bảo của quý Thầy Cô và các bạn.
Một lần nữa em xin chân thành cảm ơn!
Sinh viên thực hiện
Trần Minh Nghĩa
LỜI CAM ĐOAN
Em xin cam đoan:
- Những nội dung trong luận văn này là do em thực hiện dưới sự hướng dẫn trực tiếp
của thầy Nguyễn Lương Anh Tuấn.
- Mọi tham khảo dùng trong báo cáo này đều được trích dẫn rõ ràng tên tác giả, tên
công trình, thời gian, địa điểm công bố.
- Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, em xin hoàn
toàn chịu trách nhiệm.

MỤC LỤC


MỤC LỤC iv
Bảng các từ viết tắt: vii
LỜI MỞ ĐẦU 1
1.Tính cấp thiết của đề tài 1
2.Tình hình nghiêm cứu 1
3.Mục đích nghiêm cứu 2
4.Nhiệm vụ của đề tài 2
5.Phương pháp thực hiện đề tài 2
6.Các kết quả đạt được của đề tài 3
7.Kết cấu của luận văn tốt nghiệp 3
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 4
1.1: Tổng Quan Về Database Server 4
1.1.1 Database Server là gì? 4
1.1.2 Hệ quản trị cơ sở dữ liệu MySQL 4
1.1.3 Sơ lược MySQL 5
1.2: Giới thiệu PHP 6
1.3 Lý Do Lựa Chọn Ngôn Ngữ PHP và MySQL 7
1.4 Công nghệ template 8
1.4.1 PHP Template là gì 8
1.4.2 Tại sao nên dùng PHP Template 9
1.4.3Giới thiệu Xtemplate 10
1.5 Twitter Bootstrap Framework 19
1.5.1 Giới thiệu Twitter Bootstrap Framework 19
1.5.2 Các thành phần của Twitter Bootstrap Framework 20
1.5.3 Cách sử dụng Twitter Bootstrap Framework cơ bản 21
CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 23
2.1 Giới thiệu 23
2.2 Thiết lập yêu cầu chức năng 23
2.2.1 Chức năng hiện thị cho người truy cập web xem 23
2.2.2Chức năng quản trị cho cô dâu chú rể 25

2.3 Sơ đồ chức năng: 27
2.3.1 Sơ đồ chức năng quyền khách 27
2.3.2 Sơ đồ chức năng quyền user: 28
2.3.3 Quyền quản trị cấp cao: 35
2.4 Xây dựng Activity Diagram: 36
2.4.1 Đăng nhập: 36
2.4.2 Quản lý các chức năng khác: 37
2.5 Phân tích thiết kế cơ sở dữ liệu 37
2.5.1 Giới thiệu thực thể 37
2.5.2 Thiết kế cơ sở dữ liệu: 40
2.6. Một số thiết kế mô hình chức năng quan trọng 46
CHƯƠNG 3: XÂY DỰNG FRAMEWORK 48
3.1 Cấu trúc thư mục của framework 48
3.2 Cấu hình và cài đặt hệ thống website trên sever 49
3.3 Xây dựng giao diện cho framework 49
CHƯƠNG 4: TỔNG KẾT 64
4.1 Kết luận: 64
4.2 Hướng phát triển: 64
TÀI LIỆU THAM KHẢO 66
Bảng các từ viết tắt:
PHP Hypertext Preprocessor
HTML Hypertext Markup
Language
Ngôn ngữ siêu văn bản
CSDL Cơ Sở Dữ Liệu
MySql Hệ quản trị cơ sở dữ
liệu cho IBM cung
cấp.
HĐH Hệ điều hành
URL Uniform Resource

Locator
Hosting Nơi lưu trữ website
LỜI MỞ ĐẦU
1. Tính cấp thiết của đề tài
Đám cưới là một sự kiện trọng đại của mỗi người. Chính vì vậy ai cũng
muốn chia sẻ niềm vui này với bạn bè và người thân của họ. Hiện nay internet
phát triển với tốc độ nhanh chóng. Số lượng người sử dụng internet tại Việt
Nam rất nhiều. đặc biệt là các bạn trẻ. Không phải ai cũng có đủ tình độ chuyên
môn để tạo ra được một website để chia sẻ những khoảng khắc. những sự kiện
trọng đại của đám cưới. Nhu cầu có một nền tảng dễ dàng sử dụng. dễ dàng tùy
biến mang đậm tính chất cá nhân để một người không rành về website cũng có
thể tạo được một website đám cưới cho chính họ. Mang đậm tính chất cá nhân
của họ là rất lớn. Trên thế giới thì đã có khá nhiều nhà cung cấp dịch vụ tạo
website đám cưới cá nhân và được khá nhiều sử dụng. Tuy nhiên hiện nay tại
Việt Nam vẫn còn quá ít đơn vị cung cấp dịch vụ này. Và độ chuyên nghiệp
cũng như tính năng của các dịch vụ còn quá sơ sài. Đó chính là yêu cầu cấp thiết
để em thực hiện đề tài này.
2. Tình hình nghiêm cứu
Theo khảo sát của em thì hiện tại dịch vụ cung cấp nền tảng để tạo
website đám cưới cá nhân tại Việt Nam mới chỉ có trang web traucau.vn thực
hiện. Tuy nhiên độ tùy biến giao diện và các tính năng của trang web này cung
cấp còn quá sơ sài. Người dùng không thể tự tùy biến được nhiều trong giao
diện thiết kế web. Họ chỉ chọn được 1 mẫu layout cố định và cập nhật nội dung.
Nội dung cập nhật lên web còn khá cơ bản. Không có tính cá nhân và quyền
chia sẻ riêng tư với 1 nhóm người của chủ website.
Hiện nay số lượng người dùng điện thoại thông minh để truy cập web là
khá nhiều. Tuy nhiên dịch vụ cung cấp của traucau.vn lại chưa đáp ứng được
1
hiện thị tốt nhất trên điện thoại thông minh và máy tính bảng. Đó cũng là một
hạn chế rất lớn.

3. Mục đích nghiêm cứu
Đề tài mà em nghiêm cứu thực hiện sẽ giải quyết được nhu cầu của khá
nhiều bạn trẻ muốn có được một nền tảng tạo website đám cưới cá nhân miễn
phí. Có độ tùy biến và tính riêng tư cao. Đồng thời đề tài cũng hướng tới việc
tạo một cộng đồng chia sẻ các kinh nghiệm hay về việc chuẩn bị đám cưới. Tạo
ra một nơi sinh hoạt lành mạnh cho các bạn trẻ.
4. Nhiệm vụ của đề tài
Xây dựng Framework đáp ứng được các yêu cầu sau:
• Kho giao diện đẹp. với các chủ đều và bố cục đa dạng.
• Giao diện dễ tùy biến để mang màu sắc cá nhân của mỗi website.
• Giao diện của website tạo ra phải tương thích với các thiết bị mobile.
• Tính năng viết bài tin tức cập nhật lên website.
• Hiện thị album ảnh cưới.
• Đáp ứng được yêu cầu chia sẻ riêng tư của từng chuyên mục, từng bài
viết hoặc từng album ảnh của cô dâu chú rể.
• Framework phải dễ dàng sử dụng cho tất cả mọi người.
• Có sự tương tác giữa những người sử dụng trong cùng hệ thống.
• Mỗi website cá nhân đều được thiết kế để tối ưu cho SEO. Nhằm nâng
lượng visit cho hệ thống.
• Tính năng liên kết với các mạng xã hội.
5. Phương pháp thực hiện đề tài
Đề tài được em thực hiện bằng ngôn ngữ lập trình PHP và cơ sở dữ liệu
MySQL. Phần mềm dùng để thiết kế layout là Adobe PhotoShop CS5
Phần mềm lập trình code là Adobe Dreamweaver CS5 và Notepad ++.
Ngoài ra còn có thêm một số phần mềm hỗ trợ khác nữa trong quá trình
thực hiện đề tài.
2
6. Các kết quả đạt được của đề tài
Xây dựng được một số giao diện mẫu để người dùng có thể lựa chọn.
Các giao diện đều được thiết kế tương thích với các thiết bị di động.

Tính năng của Framework tương đối rõ ràng và dễ sử dụng.
Người dùng có thể tự tùy chỉnh được một số phần trên giao diện mẫu để website
mang nhiều màu sắc cá nhân của họ hơn.
Tính năng cập nhật album ảnh khá linh hoạt và dễ sử dụng.
Các chuyên muc, bài viết và album ảnh người dùng đều có thể đặt mật khẩu để
chia sẻ với 1 số người. đảm bảo được tính riêng tư của website đám cưới cá
nhân.
Các website tạo ra đều được tùy biến để tối ưu cho SEO.
7. Kết cấu của luận văn tốt nghiệp
Luận văn tốt nghiệp gồm có 4 chương:
Chương 1: Cơ sở lý thuyết
Phần này sẽ đưa ra những lý thuyết quan trọng sẽ được sử dụng trong xây
dựng hệ thống.
Chương 2: Phân tích thiết kế hệ thống
Đây là chương quan trọng nhất. Tại đây, các vấn đề xảy ra trên thực tế sẽ
được đưa vào phân tích, đưa ra giải pháp và thể hiện cụ thể trên các sơ đồ hệ
thống và các biểu mẫu. Kết quả của chương này ta sẽ có được toàn bộ chức
năng cần thiết của hệ thống.
Chương 3: Xây dựng hệ thống
Chương này sẽ nêu các vấn đề cần được cấu hình và chuẩn bị khi đưa ra
vào thực tiễn sử dụng. Xây dựng cách thành phần của hệ thống .Phần này cũng
sẽ trình bày các phần về cách thức quản lý hệ thống website và các ưu nhược
điểm của hệ thống.
Chương 4: Tổng kết
Chương này sẽ đưa ra các hướng đi trong tương lai để hệ thống phát triển
hoàn thiện hơn.
3
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT
1.1: Tổng Quan Về Database Server
1.1.1 Database Server là gì?

Database server (máy phục vụ Cơ sở dữ liệu): Máy tính mà trên đó có cài đặt
phần mềm Hệ quản trị Cơ sở dữ liệu. Chúng ta có một số hệ quản trị cơ sở dữ liệu
chẳng hạn như: SQL Server, MySQL, Oracle
1.1.2 Hệ quản trị cơ sở dữ liệu MySQL
MySQL là một database server, là hệ thống quản lý cơ sở dữ liệu quan hệ.
Trong việc lưu trữ, tìm kiếm, sắp xếp và truy vấn dữ liệu, nó tỏ ra rất nhanh và mạnh
mẽ, 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 server điều khiển truy cập dữ liệu đa người dùng cùng
một thời điểm, bảo đảm cho người sử dụng được cấp quyền truy cập dữ liệu của hệ
thống. Do vậy, MySQL là đa ngừơi dùng, đa luồng. Nó sử dụng các câu lệnh truy vấn
SQL (ngôn ngữ truy vấn có cấu trúc), là một chuẩn ngôn ngữ truy vấn cơ sở dữ liệu
hiện nay trên Web. MySQL được chính thức sử dụng rộng rãi năm 1996 nhưng nó đã
hình thành từ năm 1979. MySQL có mã nguồn mở và sử dụng miễn phí, nhưng với
những mục đích thương mại khác thì nó cũng có các bản quyền thương mại nếu được
yêu cầu cung cấp bản quyền. Một khó khăn cho người lập trình không chuyên là khi sử
dụng MySQL, việc tạo cơ sở dữ liệu hoàn toàn bằng lệnh, do đó đòi hỏi người sử dụng
phải có tính cẩn thận và sắp xếp quy trình làm việc hợp lý. MySQL miễn phí hoàn toàn
cho nên bạn có thể tải về MySQL từ trang chủ.
4
MySQL có thể quản lý tới hàng Terabyte dữ liệu, hàng triệu bản ghi, chạy trên
nhiều môi trường khác nhau, có giao diện tương đối dễ sử dụng, có thể truy vấn dữ liệu
thông qua câu lệnh SQL.
MySQL thường được sử dụng chung với PHP trong những trang Web cần sử
dụng đến cơ sở dữ liệu.
1.1.3 Sơ lược MySQL
Các cơ sở dữ liệu trong MySQL được tạo hoàn toàn bằng lệnh.
Các lệnh trong sql đựơc kết thức bởi dấu chấm phẩy (;). (Trừ một số lệnh như
quit là trường hợp đặc biệt).

Khi thực hiện lệnh, mysql chuyển nó đến server và yêu cầu thực hiện lệnh.
MySQL đưa ra kết qua dưới dạng 1 bảng (table) gồm các cột (column) và hàng
(row).
MySQL cũng đưa ra bao nhiêu hàng được trả về (row in set) và trong vòng bao
nhiêu giây (sec).
Ngoài ra MySQL cũng thể hiện được những phép tính đơn giản.
Các lệnh trong MySQl có thể được viết trên một hàng, hoặc nhiều hàng.
SQL là ngôn ngữ thao tác dữ liệu (DML - Data Manipulation Language)
SQL là cú pháp để thực thi các câu truy vấn. SQL cũng bao gồm cú pháp để cập
nhật - sửa đổi, chèn thêm và xoá các mẩu tin.
Sau đây là danh sách các lệnh và truy vấn dạng DML của SQL:
• SELECT - lấy dữ liệu từ một bảng CSDL.
• UPDATE - cập nhật/sửa đổi dữ liệu trong bảng.
• DELETE - xoá dữ liệu trong bảng.
• INSERT INTO - thêm dữ liệu mới vào bảng.
SQL là ngôn ngữ định nghĩa dữ liệu (DDL - Data Definition Language)
5
Phần DDL của SQL cho phép tạo ra hoặc xoá các bảng. Chúng ta cũng có thể định
nghĩa các khoá (key), chỉ mục (index), chỉ định các liên kết giữa các bảng và thiết lập
các quan hệ ràng buộc giữa các bảng trong CSDL.
Các lệnh DDL quan trọng nhất của SQL là:
• CREATE TABLE - tạo ra một bảng mới.
• ALTER TABLE - thay đổi cấu trúc của bảng.
• DROP TABLE - xoá một bảng.
• CREATE INDEX - tạo chỉ mục (khoá để tìm kiếm - search key).
• DROP INDEX - xoá chỉ mục đã được tạo.
1.2: Giới thiệu PHP
Cùng với Apache, PHP và MySQL đã trở thành chuẩn trên các máy chủ Web.
Rất nhiều phần mềm Web mạnh sử dụng PHP và MySQL (PHP Nuke, Post Nuke,
vBulletin…).

PHP (Personal Home Page hay PHP Hypertext Preprocessor) được giới thiệu
năm 1994 bởi R.Lerdoft. PHP là một ngôn ngữ lập trình kiểu script, chạy trên Server
và trả về mã HTML cho trình duyệt. Xu hướng sử dụng PHP trong việc thiết kế Web
đang ngày càng phát triển trong giai đọan hiện nay và trong tương lai. Tới năm 1998,
việc công bố phiên bản 3 thì PHP mới chính thức phát triển theo hướng tách riêng của
mình. Lúc này nó đã là một ngôn ngữ lập trình có cấu trúc và tính năng đa dạng, chính
vì thế đã khuyến khích các nhà thiết kế Web sử dụng PHP. Nó có thể cung cấp một
lượng cơ sở dữ liệu khá đồ sộ gồm cả MySQL, mSQL, dbm, Hyperwave, Informix,
Ocracle, nó cũng có thể làm việc với các hình ảnh, các file dữ liệu, FTP, XML, và host
của các kỹ thuật ứng dụng khác.
Mã PHP được đặt trong một kiểu tag đặc biệt cho phép ta có thể vào họăc ra
khỏi chế độ PHP, cú pháp của PHP cơ bản cũng giống như một số ngôn ngữ lập trình
khác, đặc biệt là C và Perl.
6
PHP được nhận dạng dưới 4 dạng phiên bản:
a. Ví dụ:
<?php //bắt đầu php
echo”Hello World”;
?> //Kết thúc php
b. Ví dụ
<script language=”php”>
Echo”Hello,World”;
</script>
c. Ví dụ
<?
Echo”Hello,World”;
?>
d. Ví dụ:
<%
echo “Hello,World”;

%>
Tuy nhiên phiên bản đầu tiên vẫn được ưa chuộng và dùng phổ biến hơn.
1.3 Lý Do Lựa Chọn Ngôn Ngữ PHP và MySQL
Thứ nhất: Những chương trình tạo bởi PHP và MySQL có tốc độ truy xuất và
xử lý dữ liệu nhanh và mạnh. Vì nó được thiết kế đặc biệt cho các ứng dụng Web, nên
nó xây dựng được rất nhiều tính năng để đáp ứng những nhu cầu chung nhất. PHP là
ngôn ngữ có cú pháp gần giống Perl nhưng tốc độ dịch của nó được các chuyên gia
7
đánh giá là nhanh hơn ASP 5 lần, hỗ trợ kết nối các hệ cơ sở dữ liệu lớn như MySQL,
ngoài ra nó còn được Apache hỗ trợ như là một modul cơ bản.
Thứ hai Do có mã nguồn mở nên chúng ta có thể tái sử dụng, cải tiến, phát triển
và khắc phục những lỗi của chương trình.
Thứ ba: Chúng rất ổn định và tương hợp, vận hành ổn định trên các hệ điều
hành gồm cả Windows và Unix…, và kết nối tốt với các máy chủ như IIS và Apache.
Thứ tư: Chúng rất dễ tiếp cận để tìm hiểu và xây dựng các ứng dụng do có cú
pháp và cấu trúc gần giống với những ngôn ngữ truyền thống, cũng như cấu trúc
module của các ứng dụng.
Thứ năm: PHP hỗ trợ cơ chế kết nối cơ sở dữ liệu ADO, các lệnh của PHP gần
gũi với một số ngôn ngữ lập trình khác như C và Perl.
Thứ sáu: PHP và MySQL đang được sự ủng hộ và phát triển mạnh mẽ của
những nhà lập trình Web.
Và cuối cùng là sử dụng PHP và MySQL đều miễn phí.
1.4 Công nghệ template
1.4.1 PHP Template là gì
Với tốc độ tăng trưởng các ứng dụng website phức tạp, một vấn đề được đưa ra
là làm thế nào để tách biệt ngôn ngữ lập trình web (PHP) ra khỏi ngôn ngữ thiết kế
giao diện (HTML), tức là tách biệt lập trình và thiết kế. PHP Template Engine đã được
ra đời để giải quyết vấn đề này.
Chức năng cơ bản của Tempate Engine được biết đến như là một kỹ thuật xử lý giao
diện cuả website bằng cách phân chia công việc giữa thiết kế viên và lập trình viên

nhưng vẫn có sự liên kết chặt chẽ.
Các designer xây dựng giao diện của website với các hình ảnh, kiểu chữ, bảng… Họ
xây dựng các template làm sao để có thể sắp xếp nội dung trong mỗi trang.
8
Công việc của các designer chỉ là thiết kế giao diện cho các thành phần của website
như: tin tức, sản phẩm…
Mặt khác, các Lập trình viên sử dụng ngôn ngữ lập trình web (PHP) để thao tác
dữ liệu (business logic). Họ không quan tâm đến việc website được trông như thế nào
(màu sắc, hình ảnh, phong cách văn bản), hoặc nơi mà nội dung được trình bày lên
website sẽ như thế nào. Tất cả những việc họ cần làm là tham chiếu đến nội dung của
Template bằng cách sử dụng các biến mà họ thỏa thuận với Thiết kế viên.
1.4.2 Tại sao nên dùng PHP Template
Chúng ta xét 1 vài lợi ích của php template enginedưới đây để hiểu thêm về nó:
Mã lập trình và giao diện website sẽ được tách riêng ra để có thể thiết kế và sửa đổi
một cách độc lập.
Lập trình viên và Thiết kế viên có thể làm việc với nhau mà không phải can
thiệp vào công việc của nhau. Trách nhiệm có thể được phân chia rõ ràng.
Sau khi sản phẩm được hoàn tất, giao diện website có thể được sửa đổi tại một
thời điểm sau này, mà không cần dính líu hay phải sửa đổi mã lập trình.
Ứng dụng vào việc thiết kế website đa ngôn ngữ một cách dễ dàng.
Ưu điểm:
- Tách việc lập trình ra khỏi thiết kế, lập trình viên có thể viết code độc lập và designer
sau khi đưa sang lập trình vẫn dễ dàng chỉnh sửa lại bản thiết kế của họ trong các phần
mềm thiết kế web như Dreamwaver hay Frontpage.
Hạn chế:
- Phải học làm quen với cách dùng engine, các cấu trúc và cú pháp
- Tốc độ xử lý template phụ thuộc vào engine nào bạn sử dụng, nói chung cũng rất
nhanh
Thường thì lợi ích nhận được khi dùng template lớn hơn nhiều so với hạn chế
của nó, nhất là khi viết ứng dụng web lớn và đòi hỏi việc bảo trì hay thay đổi thiết kế

thường xuyên
9
Một số template engine viết bằng PHP : FastTemplate,PHPLib Template (thư
viện hàm PHP với nhiều chức năng khác nhau, trong số đó có template),
Xtemplate,Smarty
1.4.3Giới thiệu Xtemplate
1.4.2.1 Uu điểm của Xtemplate
Xtemplate là 1 PHP template với một số ưu điểm khá nổi bật
- Cách dùng dể dàng, cấu trúc và cú pháp đơn giản
- Thư viện đóng gói chỉ trong 1 file php nhỏ (blackbox)
- Chương trình ngắn và chuẩn, cơ chế tìm thay thế dùng regexp nên tốc độ rất nhanh
- Giải quyết tất cả các trường hợp trong viết code PHP thông thường (nghĩa là nếu cách
viết truyền thống, code PHP và HTML chung với nhau, làm được gì thì viết bằng
XTemplate cũng sẽ làm được, còn FastTemplate và PHPLib có hạn chế ở một số chức
năng).
1.4.2.2 Cơ bản về Xtemplate
Xtemplate được nhận biết bằng các Block. Và block lớn nhất thường đặt là
main. Các block được bắt đầu và kết thúc bởi các cặp comment.
Template: ( templ.tpl )
<! BEGIN: xxxxx >
<! END: xxxxx >
Trong đó xxxx là biến.
10
VD:
<! BEGIN: main >
<html>
<head><title>Vi du</title></head>
<body>
{vidu}
</body>

</html>
<! END: main >
Code PHP:
Trong PHP Code thì Xtemplate sẽ được viết như sau:
<?php
include_once('./xtemplate.class.php');
$xtpl = new XTemplate('templ.tpl');
//Gán giá trị
$xtpl->assign('vidu', "Vi du ve Xtemplate");
$xtpl->parse('main');
//In ra
$xtpl->out('main');
?>
Chú ý hàm parse:
Parse phải được viết theo thứ tự của block và cách nhau bởi dấu chấm.
VD ngoài cùng là main, tiếp theo là block1,block2,block3 thì sẽ viết:
11
<?php

$xtpl->parse('main.block1.block2.block3');

?>
Mảng giá trị trong Xtemplate
File xử lý php
<?php

$mang = array(
'id'=>"1",
'ten'=>"TK",
'tuoi'=>"21"

);
//Gán giá trị của mảng vào DATA
$xtpl->assign('DATA',$mang);
$xtpl->parse('main. table');

?>
12
File template

<! BEGIN: table#Comment có thể đặt ở đây >
<table border="1">
<tr>
<td>id</td>
<td>{DATA.id}</td>
</tr>
<tr>
<td>Tên</td>
<td>{DATA.ten#Comment có thể đặt ở đây }</td>
</tr>
<tr>
<td>Tuổi</td>
<td>{DATA.tuoi}</td>
</tr>
</table>
<! END: table >

Trong Xtemplate có thể sử dụng Comment bằng cách thêm dấu # sau tên mỗi Block
13
Vòng lặp Trong Xtemplate


<?php

for($i=0;$i<10;$i++){
$xtpl->parse('main.loop');
}

?>
Template:

<b>Ví dụ về lặp 1 block</b>
<! BEGIN: loop >
Nội dung sẽ được lặp lại<br>
<! END: loop >

Ta cũng có thể in lại nhiều lần 1 block bằng cách parse nhiều lần. VD:
<?php

$xtpl->parse('main.loop');
$xtpl->parse('main.loop');
$xtpl->parse('main.loop');
$xtpl->parse('main.loop');

?>

14
Hoặc có thể thay đổi biến rồi parse ra.VD:
<?php

$xtpl->assgin('vd',"hello, i'm TK")
$xtpl->parse('main.loop');

$xtpl->assgin('vd',"Welcome to xtemplate")
$xtpl->parse('main.loop');
$xtpl->assgin('vd',"Xtemplate so easy!")
$xtpl->parse('main.loop');

?>

Template:
<b>Ví dụ về lặp 1 block</b>
<! BEGIN: loop >
{vd}<br>
<! END: loop >

15
Đặt giá trị cho toàn bộ block
Ví dụ: Template

<! BEGIN: form >
<form action="#">
<input type="text" size="20" name="fullname" value="{FULLNAME}" /><br />
<input type="text" size="20" name="email" value="{EMAIL}" />
<input type="text" size="20" name="income" value="{INCOME}" />
</form>
<! END: form >


PHP code
<?php

$xtpl->set_null_string('no value ');

$xtpl->set_null_string('no email specified!', 'EMAIL');
$xtpl->parse('main.form');

?>
Như vậy với ví dụ trên thì chỉ có {EMAIL} là được gán giá trị, còn lại sẽ được gán
bằng giá trị đã khai báo ở trên. ( trong ví dụ là: no value )
Hàm set_null_string:
set_null_string(giá trị cần gán,[biến cần gán]);
16
block con và gán giá trị cho block
Trong 1 block ta có thể khai báo các block con.
VD: Template

<! BEGIN: block >
Block o day
<! BEGIN: subblock1 >
Noi dung cua subblock1
<! END: subblock1 >
<! BEGIN: subblock2 >
Noi dung cua subblock2
<! END: subblock2 >
<! END: block >

Nếu không parse các subblock thì chúng sẽ không được in ra.
PHP code
<?php

$xtpl->parse('main.block');

?>

17
Khi in ra sẽ chỉ có chữ: Block ở đây. Nếu muốn các block kia được in ra bạn phải parse
chúng:
<?php

$xtpl->parse('main.block');
$xtpl->parse('main.block.subblock1');
$xtpl->parse('main.block.subblock2');

?>
Gán giá trị cho 1 block.
set_null_block(giá trị cần gán,[tên block cần gán]);
VD: PHP code
<?php

$xtpl->set_null_block('block con!');
$xtpl->set_null_block('Block1!', 'main.block.subblock1');
$xtpl->parse('main.block');

?>
18

×