10/10/2018, 10:07

hỏi về cách viết 1 Template egine bằng PHP

Hiện tại mình đang muốn viết 1 trình template egine cho riêng mình nhưng lại không biết cách thức hoạt động của nó. Search trên mạng thì chỉ tìm thấy các tut hướng dẫn thô sơ như là đọc file rồi sửa chuỗi! Nhưng lại không cho phép sử dụng vòng lặp, include file như của smarty hoặc xtemplate . Ai biết xử lý vấn đề này xin hãy giúp mình
ngoc_viet08 viết 12:23 ngày 10/10/2018
down mấy cái template engine về mà nghiên cứu . vậy cũng hỏi .
dungphong viết 12:12 ngày 10/10/2018
Có bạn nào lịch sự hơn con gì vừa kêu không
ngoc_viet08 viết 12:14 ngày 10/10/2018
tớ chỉ cho cậu chứ gì nữa ? mấy cái tút thường chỉ nêu 1 số phía cạnh , 1 số vấn đề cơ bản chứ làm sao xây dựng được cả 1 template engine .
thái độ vậy ai dám trả lời chời
hakara viết 12:19 ngày 10/10/2018
2 bác dịu đi
bạn nghiên cứu template engine của Drupal đó, sẽ có thêm nhiều kinh nghiệm đó
jiSh@n viết 12:19 ngày 10/10/2018
PHP Savant, đọc source của thằng đó đi rồi tính tiếp.
bka viết 12:09 ngày 10/10/2018
Được gửi bởi dungphong
Hiện tại mình đang muốn viết 1 trình template egine cho riêng mình nhưng lại không biết cách thức hoạt động của nó. Search trên mạng thì chỉ tìm thấy các tut hướng dẫn thô sơ như là đọc file rồi sửa chuỗi! Nhưng lại không cho phép sử dụng vòng lặp, include file như của smarty hoặc xtemplate . Ai biết xử lý vấn đề này xin hãy giúp mình
các engine template về cơ bản chỉ là replace. bạn quy ước theo của bạn tại một số ký hiệu đặc biệt rồi thích quy ước nó là thay thế bằng vòng lặp nó sẽ lặp.
diepnghitinh viết 12:09 ngày 10/10/2018
http://hcegroup.net/hceteam/showthread.php?t=47
kenphan19 viết 12:15 ngày 10/10/2018
Thực ra cách thức hoạt động của SE chỉ là dùng preg mà thôi .
Đơn giản nếu bạn có 1 file php template.tpl thế này:
<html>
<body>
Hôm nay là ngày: $ngay
Welcome to phpbasic.com
</body>
</html>
file code calender.php có nội dung như sau:
Code:
<?
$ngay = $_GET['date'];
$file = file_get_contents("template.tpl"); //đọc nội dung file .tpl
print str_replace('$ngay',$date,$file); // tìm và thay thế chữ $ngay trong file .tpl bằng biến $ngay trong file calender.php
?>
Kết quả của file calender.php này khi view trên trình duyệt cũng giống như là dùng kiểu bình thường , nhưng bây giờ bạn muốn edit lại giao diện bạn chỉ cần sữa lại file .tpl và chỉ cần giữ lại chữ $ngay là được, như vậy một người kô biết về code cũng có thể edit được nội giao diện của ứng dụng.

Đây là ví dụ đơn giản, hi vọng giúp bạn hiểu fần nào về .tpl.

Tạm lấy bài trên phpbasic.com cho bạn xem ... đơn giản nhé
nnquangit viết 12:11 ngày 10/10/2018
bạn down Codeigniter về vào thư mục ... gì đó hình như libs wen roài có 1 file Paser.php bạn vào use guide của nó coi nó hướng dẫn về Template engine(Paser) của nó rất đơn giản.
Nó có replace được array --> *** roài. chứ ngồi mà viết Template engine mà regx tùm lum thì 1 hồi loạn đó ^^
Bài liên quan
0