Bài giảng Lập trình viên mã nguồn mở PHP - Module 3, Bài 9: Smarty. Template Engine 2
Caching - bộ nhớ đệm
□ Giới thiệu
• Bộ nhớ đệm được sử dụng để tăng tốc độ gọi sử dụng phương thức displayO hoặc fetch() bằng cách lưu trữ dữ liệu xuất ra file.
• Nếu đã có một phiên bản được cache thì nó sẽ tự hiển thị thay vì phải tạo ra một dữ liệu xuất khác.
Caching có thể đưa tốc độ tàng lên rất nhiều, nhất là đối với những template có thời gian tính toán dài. Khi dữ liệu xuất của displayO hoặc fetch() được lưu vào bộ nhớ đệm, một file cache có thể chứa nội dung thực hiện của một số file template và file config
Bạn đang xem tài liệu "Bài giảng Lập trình viên mã nguồn mở PHP - Module 3, Bài 9: Smarty. Template Engine 2", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
Tóm tắt nội dung tài liệu: Bài giảng Lập trình viên mã nguồn mở PHP - Module 3, Bài 9: Smarty. Template Engine 2
Trường ĐH Khoa Học Tự Nhiên Tp. Hồ Chi Minh TRUNG TÂM TIN HỌC LTV MÃ NGUÒN MỜ PHP Module 3 - Bài 9: Smarty - Template Engine 2 Ngành LT & CSDL www.t3h.vn xMediaFire PHP code và Smarty class □ Hằng SMARTY-DIR Khai báo hằng số SMARTY-DIR: đường dẫn chứa thư viện Smarty define('SMARTY_DIR', 'đường dẫn đến thư mục Smarty/libs/'); Gọi sử dụng lớp Smarty.class của thư viện Smarty: require_once(SMARTY_DIR . 'Smarty.class.php'); eVídụ: defìne('SMARTY_DIR',’../Smarty/libs/'); MC require_once(SMARTY_DIR . 'Smarty.class.php’); M MC MC Caching - bộ nhớ đệm □ Giới thiệu ■ Bộ nhớ đệm được sử dụng để tăng tốc độ gọi sử dụng phương thức displayO hoặc fetch() bằng cách lưu trữ dữ liệu xuất ra file. Nếu đã có một phiên bản được cache thì nó sẽ tự hiển thị thay vì phải tạo ra một dữ liệu xuất khác. Caching có thể đưa tốc độ tàng lên rất nhiều, nhất là đối với những template có thời gian tính toán dài. Khi dữ liệu xuất của displayO hoặc fetch() được lưu vào bộ nhớ đệm, một file cache có thể chứa nội dung thực hiện của một số file template và file config... Caching - bộ nhớ đệm □ Giới thiệu Khi các mẫu template động thì cần phải chú ý cân nhắc xem nội dung nào được cache và trong thời gian bao lâu. Ví dụ, ta đang hiển thị front page của website mà không thay đổi nội dung của nó thường xuyên, sẽ rất tốt nếu lưu cache trang này trong một giờ và có thể lâu hơn. Ngược lại, nếu một trang mà nội dung của nó bao gồm các thông tin mới thay đổi thường xuyên thì việc sử dụng cache sẽ không có ý nghĩa. Caching - bộ nhớ đệm • Khi caching = 2: có thiết lập thời gian cho mỗi cache require('Smarty.class.php'); Ssmarty = new Smarty; $smarty->caching = 2; II thiết lập cachejifetime cho trang index.tpl là 5 phút $smarty->cache_lifetime = 300; $smarty->display(*index.tpl‘); II thiết lập cachejifetime cho trang home.tpl là 1 giờ $smarty->cache_lifetime = 3600; $smarty->display(*home.tpl*); Caching - bộ nhớ đệm □ Kiểm tra cache • Sử dụng phương thức is_cached() đẻ kiềm tra một template có được cache hay không require('Smarty.class.php'); Ssmarty = new Smarty; $smarty->caching = 1; if(l$smarty*>is_cached('index.tpl')) { // nếu chưa được cache Scontents = get_database_contents(); $smarty->assign($contents); $smarty->display('index.tpr); Caching - bộ nhớ đệm □Sử dụng nhiều cache trên một trang • Có thể sử dụng nhiều cache trên một trang require('Smarty.class.php'); Ssmarty = new Smarty; $smarty->caching = 1; $my_cache_id = $_GET['articleJd']; // với mỗi giá trị $my_cache_id duy nhất, thì sẽ có một cách được tạo ra cho trang for index.tpl. $smarty->display('index.tpr, $my_cache_id); LTV Mã nguồn mờ PHP - Module 3 21 Kế thừa - Template Inheritance □ So sánh template có kế thửa và không kế thừa Template không kế thửa Template có kế thừa header.tpl: {$title|default:"Default Page Title"} footer.ỉpl layout.tpl {block name=title}Default Page Title{/block} {block name=body}{/block} mypage.tpl {include file-’header.tpl" title="My Page Title"} My HTML Page Body goes here {include file-'footer.tpl"} {extends file="layout.tpl"} {block name=title}My Page Title{/block} {block name=body} My HTML Page Body goes here {/block} Kế thừa - Template Inheritance □ So sánh template có kế thừa và không kế thừa Template không kế thừa Template có kế thừa Nội dung xuất ra của file mypage.tpl My Page Title My HTML Page Body goes here Nội dung xuất ra của file mypage.tpl My Page Title My HTML Page Body goes here
File đính kèm:
- bai_giang_lap_trinh_vien_ma_nguon_mo_php_module_3_bai_9_smar.docx
- ttth_dh_khtn9_7022_541352.pdf