วันศุกร์ที่ 18 กันยายน พ.ศ. 2552

Smarty Template Engine

Smarty คืออะไร

Smarty เป็น Template Engine ตัวหนึ่งซึ่งทำงานได้เร็ว ถูกต้องแม่นยำ Smarty เป็น Framework ซึ่ง ถูกสร้าง มาเพื่อ
Programmer และ template designer ให้ทำงาน รวมกันแบบแยก ส่วนการทำงานออกจากกัน การทำงานของ Smarty ใช้ tag ในการแทนที่ข้อความต่าง
ทำให้เราง่าย ต่อการพัฒนาหรือ แก้ไข โปรแกรม และ ง่ายต่อการ เปลี่ยนรูปแบบการแสดงผล โดยไม่ ต้องคำนึ่งถึงผลกระทบ ต่อ การ แสดงผลของเรา

Smarty มีคุณสมบัติอย่างไรบ้าง
เขียนแบบ OOP
Caching:
Configuration Files:
Security:
Easy to Use and Maintain:
Variable Modifiers:
Template Functions:
Filters:
Resources:
Plugins:
Add-ons:
Debugging:
Compiling:
Performance:

ดาวน์โหลด
http://smarty.php.net/download.php

การติดตั้ง Smarty
เมื่อ ดาวน์โหลดไฟล์ Smarty-x.x.xx มาแล้วให้ unzip ไฟล์ ออก จะได้
/libs และ folder อื่นๆ อีก แต่ไม่ต้องสน ใจ ให้ สนใจแค่ ข้อมูลต่างๆ ใน folder libs และห้ามแก้ไขไฟล์ ต่าง ใน folder นี้เด็ดขาด
ข้อมูลใน libs ซึ่ง เป็น Required Smarty library ตามนี้
Smarty.class.php
Smarty_Compiler.class.php
Config_File.class.php
debug.tpl
/internals/*.php (class การทำงาน ส่วนต่างๆ ของ Smarty )
/plugins/*.php (เก็บ class ที่เพิ่ม ความสามารถ ของ Smarty)
การอ้าง ถึง Smarty libs
ต้องกำหนด cunstant ชื่อ SMARTY_DIR ( defind('SMARTY_DIR', 'full system file path') )
ที่เรียกไปถึง libs/
แต่ถ้าโปรแกรมของ เรา สามารถหา ไฟล์ Smarty.class.php เราไม่จำเป็นต้อง กำหนด SMARTY_DIR ก็ได้

ตัวอย่างการเรียกใช้ Smarty ใน script php ของเรา เช่น
require_once('Smarty.class.php');
$smarty = new Smarty();
?>
ถ้ามี error ขึ้นจากการเรียก ใช้ Smarty แบบ ข้างบน ให้ใช้แบบ ระบ Full part เช่น

// *nix style (note capital 'S')
define('SMARTY_DIR', '/usr/local/lib/php/Smarty-v.e.r/libs/');

// windows style
define('SMARTY_DIR', 'c:/webroot/libs/Smarty-v.e.r/libs/');

// hack version example that works on both *nix and windows
// Smarty is assumend to be in 'includes/' dir under current script
define('SMARTY_DIR',str_replace("","/",getcwd()).'/includes/Smarty-v.e.r/libs/');

require_once(SMARTY_DIR . 'Smarty.class.php');
$smarty = new Smarty();
?>

Example 2-4. Supply absolute path to library file
// *nix style (note capital 'S')
require_once('/usr/local/lib/php/Smarty-v.e.r/libs/Smarty.class.php');

// windows style
require_once('c:/webroot/libs/Smarty-v.e.r/libs/Smarty.class.php');

$smarty = new Smarty();
?>
Example 2-5. Add library directory to PHP include_path
// Edit your php.ini file, add the Smarty library
// directory to the include_path and restart web server.
// then the following should work:
require_once('Smarty.class.php');
$smarty = new Smarty();
?>
เมื่อ เลือกแบบ การ เข้าให้งาน Smarty ได้แล้ว ต่อไป
มาดูสิ่งที่ Smarty ต้องการ ต่อ คือ
four directories ซึ่งมี default named 'templates/', 'templates_c/', 'configs/' and 'cache/'.
แล้วก็ ทำการ Setting file permissions
templates_c และ cache ให้ สามรถเขียนได้
เท่า นี้ เราก็ สามารถ เริ่ม ใช้งาน Smarty กันได้แล้ว
ต่อไป มาเรียนรู้การ ใช้ Smarty แบบ
- Smarty For Template Designers
- Smarty For Programmers กัน แท็ก Technorati , ,

ไม่มีความคิดเห็น: