PDA

View Full Version : tpl Một phương thức tạo Template trong PHP toàn diện



dangkhoi13
04-12-2006, 15:15
tpl, chuẩn file template trong PHP, một cái không mới nhưng không mấy ai biết. Tôi cũng không biết nó là cái gì nữa. Mới mẻ quá với tôi. Trong Zend Studio cũng hỗ trợ file này.
Ai biết cái này xin chỉ giáo cho anh em đi. Đi làm web cho mấy công ty nước ngoài viết bằng PHP đều yêu cầu biết cái này.
Mong chỉ giáo sớm.
Cám ơn bà con.:wub:

virtualgirl
04-12-2006, 16:33
Theo mình biết thì tpl ko phải chuẩn file gì cả, chẳng qua do người lập trình quen cách đặt tên như thế để nhận biết đó là file template thôi.

Với một dự án web không quá đơn giản thì phải lập trình theo mô hình MVC (Model - View - Control), đó chính là sử dụng template engine, tách rời phần code và phần giao diện nhằm nâng cao tính bảo mật, bảo trì của phần mềm.

mr47
04-12-2006, 17:22
Sao ko dùng XSLT :D
Đó mới là chuẩn ^^

phpbasic
04-12-2006, 19:09
đọc bài viết về template http://phpbasic.com/index.php?a=42

TheHeTre
04-12-2006, 19:51
Cả ngàn người biết sao nói không ai biết. Muốn dùng template ghi ra tpl cho dễ nhớ chứ ghi đuôi j chẳng được.

Bài viết có cái title giật gân [-(

mrsinguyenus
05-12-2006, 08:22
em dùng đuôi .html nè có sao đâu, chử tpl viết tắt của chử template thôi.

conan1212
05-12-2006, 10:03
Sao ko dùng XSLT :D
Đó mới là chuẩn ^^

--> dùng cho XML bố à.

jiSh@n
05-12-2006, 14:13
--> dùng cho XML bố à.

Code PHP out data dạng XML, xài chung với XSLT thì ko cần dùng template engine :)

NDThuan
06-12-2006, 08:31
Cái này thì đúng là tiện, em cũng từng tính tới nhưng em thắc mắc các Search Engine nó có chạy đúng không?

virtualgirl
06-12-2006, 10:56
Code PHP out data dạng XML, xài chung với XSLT thì ko cần dùng template engine :)

nói rõ thêm đi bạn ui

jiSh@n
06-12-2006, 19:07
nói rõ thêm đi bạn ui

Rõ hơn là sao nữa. Bạn viết code php cứ xuất dữ liệu dạng xml thay vì html như thông thường. Dùng xslt để format cái xml đó là xong.

quỷ kiếm
07-12-2006, 09:57
Rõ hơn là sao nữa. Bạn viết code php cứ xuất dữ liệu dạng xml thay vì html như thông thường. Dùng xslt để format cái xml đó là xong.
ví sao lại phải phức tạp như vậy?
thay
PHP->HTML
bằng
XSLT
PHP -> XML ---> HTML
Hình như không được hợp lý thì phải

kid08
07-12-2006, 11:41
với PHP, XML quá nhiều chưa cần thiết vì nó sẽ làm cho người dùng sản phẩm khó sử dụng :D

jiSh@n
07-12-2006, 12:53
ví sao lại phải phức tạp như vậy?
thay
PHP->HTML
bằng
XSLT
PHP -> XML ---> HTML
Hình như không được hợp lý thì phải
PHP->HTML, bạn sẽ cần phải có 1 template engine nếu muốn code của mình có thể reuse một cách dễ dàng nhất (tách code ra khỏi giao diện).
PHP->XML+XSLT : code php được tách hoàn toàn khỏi giao diện, khi muốn đổi giao diện chỉ cần sửa file xslt, lại ko cần template engine.

với PHP, XML quá nhiều chưa cần thiết vì nó sẽ làm cho người dùng sản phẩm khó sử dụng
Có gì khó sử dụng nhỉ? XML+XSLT thì browser vẫn hiển thị như HTML thôi. Người dùng thì liên quan gì ở đây nhỉ? Đang nói về mặt code cơ mà.

kid08
07-12-2006, 16:52
ý em là nếu code cho khách,để họ có thể sửa đc temp thì đâu phải ai cũng bít xslt đâu :D

jiSh@n
07-12-2006, 20:36
ý em là nếu code cho khách,để họ có thể sửa đc temp thì đâu phải ai cũng bít xslt đâu :D

Họ muốn sửa được thì cũng phải biết được cấu trúc của template. Mỗi template engine lại có cấu trúc tpl khác nhau, ko đơn giản là nhét các biến vào html. Trong khi đó học xslt thì nhanh thôi.

conan1212
10-12-2006, 11:23
Hic bạn thử nghĩ xem:
Trước hết server sẽ lấy dữ liệu từ CSDL sau đó xuất dữ liệu ra xml roài lại dùng xslt để format dữ liệu XML đó.
--> thời gian xử lí sẽ như thế nào.
Chưa kể đến chuyện bảo mật cho ứng dụng, vấn đề tương thích, hỗ trợ công nghệ từ các trình duyệt, nói chung là không ổn.

jiSh@n
10-12-2006, 14:57
Hic bạn thử nghĩ xem:
Trước hết server sẽ lấy dữ liệu từ CSDL sau đó xuất dữ liệu ra xml roài lại dùng xslt để format dữ liệu XML đó.
--> thời gian xử lí sẽ như thế nào.
Chưa kể đến chuyện bảo mật cho ứng dụng, vấn đề tương thích, hỗ trợ công nghệ từ các trình duyệt, nói chung là không ổn.

Vậy là bạn nhầm rồi. Bạn chỉ xuất dữ liệu ra dạng xml thôi, chuyện dùng xslt để format xml là trách nhiệm của browser cơ mà. Bây giờ mà muốn kiếm browser ko sp xml thì hơi khó đó. Trong khi đó, bình thường bạn xuất dữ liệu ra, rồi template engine lấy dữ liệu đó để ghép vào tpl, tức là bạn phải tốn thêm 1 công đoạn để render nữa :)

pixelart
10-12-2006, 15:11
http://phpbasic.com/index.php?a=42

Bài viết trong Phpbasic này dùng hàm str_replace mình nghĩ có lẽ chậm, Xưa đến giờ ko code template bao giờ nên ko rành, hôm nay xài Smarty http://smarty.php.net thấy rất ngon nhưng xài chưa quen, thấy cũng hơi hơi khó xài :P

duyanhnguyen
10-12-2006, 22:04
Mỗi người một ý, về mặt kỹ thuật tui ủng hộ cái cách dùng XSLT + XML hơn vì nó nhanh hơn và "pro" hơn, hơn nữa ví dụ ta thay đổi layout hoặc cho phép web của mình chạy trên nhiều device khác nhau thì giải pháp này nhanh hơn. XSLT không khó học, lên http://www.vovisoft.com là có mấy bài tutorial. Riêng nếu bạn muốn lập trình nhanh thì dùng Smarty + PEAR hoặc ZEND thì good lắm.

virtualgirl
11-12-2006, 10:32
Vậy là bạn nhầm rồi. Bạn chỉ xuất dữ liệu ra dạng xml thôi, chuyện dùng xslt để format xml là trách nhiệm của browser cơ mà. Bây giờ mà muốn kiếm browser ko sp xml thì hơi khó đó. Trong khi đó, bình thường bạn xuất dữ liệu ra, rồi template engine lấy dữ liệu đó để ghép vào tpl, tức là bạn phải tốn thêm 1 công đoạn để render nữa :)
Bạn cho 1 ví dụ được ko bạn

mrsinguyenus
11-12-2006, 13:11
Em đang làm với smarty, giờ nghiên cứu XSLT + XML theo lời của bác http://www.frexy.com, bác có cái site gọn và đẹp quá.