ภาษา PHP:การติดตั้ง Smarty Template Engine

หลังจากที่ผมหายไปนานมากประมาณครึ่งเดือนก็เพราะผมนั่งแก้วิฤตโครงการส่วนตัวที่ผมทำอยู่หลายอาทิตย์ ซึ่งผมก็นั่งทำอยู่นานดังคำว่า ไม่เป็นไร พังก็สร้างใหม่ และตอนนี้ก็เริ่มโคเอละ จากวิฤตครั้งนี้ทำให้เสียเงินไปหลายบาทกันเลยทีเดียว และวันนี้ผมก็เริ่มว่างก็เลยมาดูว่าผมยังค้างบทความอะไรอยู่ เลยมาเขียนต่อดีกว่า เอาละบทความนี้เป็นบทความต่อจากครั้งก่อน? ภาษา PHP : Smarty Template Engine ครั้งนี้ก็จะเป็นการติดตั้งและการใช้งานเบื้องต้น

ขั้นแรกคือการโหลดตัว script smarty ก่อนจากเว็บ smarty.net

เมื่อโหลดเสร็จแล้วก็ทำการแต่ไฟล์ จะได้ไดเรกทอรี Smarty-xxx ( xxx คือหมายเลขเวอร์ชัน) จากนั้นก็นำไปวางที่ไดเรกทอรีที่เราต้องการเรียกใช้

smarty template, สอน php, php เบื้องต้น, การติดตั้ง smarty

ซึ่งไดเรกทอรีของผมที่ต้องการใช้คือ testsmarty ก็นำไปวางจะได้เมื่อในรูป

smarty template, สอน php, php เบื้องต้น, การติดตั้ง smarty

Smarty template engine นั้นจำเป็นใช้ไดเรกทอรี 2 อันเพื่อสำหรับ complie และอีกอันเอาไฟล์เก็บไฟล์ .tpl ที่เราสร้างขึ้นดังนั้นผมจะสร้าง directory 2 อันคือ template, template_c

smarty template, สอน php, php เบื้องต้น, การติดตั้ง smarty

ในกรณีที่เราใช้ server เป็น unix chmod 777 หรือ 755 เพื่อที่จะอนุญาตให้มันเขียนไฟล์ลงใน template_c ได้

การติดตั้ง smarty ก็ถือว่าเสร็จสิ้นต่อไปเป็นการใช้งาน

ขั้นแรกเราก็สร้างไฟล์ php ที่จะใช้งาน smarty ขึ้นมาโดยผมให้ชื่อว่า testsmarty.php โดยมีโค้ดดังนี้

[sourcecode language=”php”]

setTemplateDir(‘template’);

$smarty->setCompileDir(‘template_c’);

$smarty->assign(‘website’, ‘Thaicoding.net’);

$smarty->display(‘index.tpl’);

?>

[/sourcecode]

จากนั้นเราก็สร้างไฟล์ smarty template ในไดเรกทอรี template ชื่อว่า index.tpl โดยมีโค้ดดังนี้

[sourcecode language=”html”]

Smarty

Welcome, {$website}!

[/sourcecode]

smarty template, สอน php, php เบื้องต้น, การติดตั้ง smarty

เมื่อเขียนโค้ดทั้ง 2 ไฟล์เสร็จแล้วก็ลองรันไฟล์ testsmarty.php ดูก็จะได้ผลลัพธ์ดังรูป

โดยโค้ดของ testsmarty.php มีหลักการทำงานดังนี้

require(‘Smarty-3.0.6/libs/Smarty.class.php’);

smarty template, สอน php, php เบื้องต้น, การติดตั้ง smarty

เป็นการเซ็ต ไดเรกทอรี smarty เพื่อที่เราจะได้เรียกใช้ได้ ต่อมาคือการสร้าง object smarty ซึ่งมีโค้ดดังนี้

$smarty = new Smarty(); ?ต่อมาคือการ set directory complie และ directory template โดยใช้ 2 คำสั่งต่อไปนี้

$smarty->setTemplateDir(‘template’);

$smarty->setCompileDir(‘template_c’);

หลังจากนั้นก็จะเป็นการกำหนดค่าตัวแปรจะใช้คำสั่ง

$smarty->assign(‘website’, ‘Thaicoding.net’);

ซึ่งผมมีการกำหนดชื่อตัวแปร website ให้มีค่าเท่ากับ Thaicoding.net นั้นเองหลังจากนั้นก็เรียกแสดงผลจากไฟล์ template โดยใช้คำสั่ง

$smarty->display(‘index.tpl’);

สุดท้ายเราก็มาดูไฟล์ index.tpl ที่อยู่ใน directory template สั่ง บรรทัดที่มีคำสั่ง

Welcome, {$website}! จะเห็นว่า smarty จะใช้ {} ในการเปิดปิดคำสั่งซึ่งเราได้กำหนดค่าให้ตัวแปร website จากไฟล์ testsmarty.php ไว้แล้ว

ก็ถือว่าติดตั้ง smarty template เสร็จสิ้นและสามารถใช้งานได้ส่วนวิธีการใช้อื่นๆไว้มีโอกาสผมจะมาเขียนบทความใหม่

Download SourceCode

Leave a Reply

Your email address will not be published. Required fields are marked *