ในการเข้าใช้เว็บไซต์ของผู้ใช้งานนั้น เรียกได้ว่าอย่างน้อยใน 1-2 วันต้องเข้าใช้งานเว็บไซต์กันอยู่แล้ว แต่ในมุมของผู้พัฒนาเว็บไซต์ ที่จะต้องอยู่กับการปรับแต่ง หรือ เพิ่มฟังก์ชันให้กับเว็บไซต์ของตัวเองทุกวัน เพื่อเพิ่มความน่าสนใจ และ ลูกเล่นต่างๆ ในการใช้งาน อาจจะเป็นการใช้งาน CSS ต่างๆ เพื่อเพิ่มลูกเล่น หรือความสวยงามให้กับผู้ใช้งาน หรือจะใช้งาน bootstrap เพื่อลดเวลาในการสร้างโครงสร้างเว็บไซต์ โดยในวันนี้ ทางเราจะมาแนะนำ Software ที่เป็น Template ในการสร้างเว็บไซต์

 

ทำความรู้จักกับ Smarty Template Engine

 

 

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

 

     อีกทั้ง Smarty ยังมีฟังก์ชันมากมาย หรือ จะเรียกว่าความสามารถที่ Smarty ทำได้นั้นเอง โดยมีการรองรับการทำงานในหลากหลายรูปแบบ อีกทั้งหยืดหยุ่นในการนำไปปรับใช้ในเว็บไซต์ต่างๆของผู้พัฒนาได้อีกด้วย

Smarty มีคุณสมบัติอย่างไรบ้าง

  • เขียนแบบ OOP
  • Caching การจัดเก็บข้อมูลบางส่วนชั่วคราว เพื่อให้ผู้ใช้งานเข้าใช้งานเว็บไซต์ได้เร็วขึ้น
  • Configuration Files การจัดการชนิดของไฟล์
  • Security ระบบรักษาความปลอดภัย
  • Easy to Use and Maintain รองรับการปรับแต่ง และ ซ่อมบำรุงภายหลัง
  • Variable Modifiers รองรับการเปลี่ยนค่าตัวแปร
  • Template Functions ฟังก์ชันพื้นฐานของ Template
  • Filters การกรองข้อมูล / เนื้อหา
  • Resources การจัดการทรัพยากร
  • Plugins สามารถติดตั้ง Plugins เพิ่มได้
  • Add-ons รองรับการใช้งาน Addon ต่างๆ
  • Debugging มีฟังก์ชั่นในการตรวจสอบข้อผิดพลาดเบื้องต้น
  • Compiling การรวบรวมข้อมูล log
  • Performance สามารถตั้งค่าประสิทธิภาพ

 


การติดตั้ง Smarty

  • เมื่อ ดาวน์โหลดไฟล์ Smarty มาแล้วให้ 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 ได้มีมาให้แล้ว ถือว่าลดเวลาในการพัฒนาและเพิ่มประสิทธิภาพให้เว็บไซต์ได้ดีมากเลยทีเดียวครับ

 

หากท่านใดสนใจเนื้อหาในส่วนของรูปแบบเว็บไซต์สำเร็จรูปเพิ่มเติม ลองศึกษา และใช้งาน ผ่านทาง Video

 

 

 

อ้างอิง

  • PHP Smarty, [Online], เข้าถึงได้จาก http://www.nusphere.com/products/php_smarty.htm

  • PHP Smarty Development, [Online], เข้าถึงได้จาก https://www.qltech.com.au/services/smarty/

  • Get Started with Smarty Syntax, [Online], เข้าถึงได้จาก https://support.cordial.com/hc/en-us/articles/115005691407-Get-Started-with-Smarty-Syntax

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
SQL JOIN: การรวมข้อมูลจากหลายตารางในฐานข้อมูล
โดย witsarutt000 พฤ 14 มี.ค. 2024 4:07 pm บอร์ด SQL Knowledge
1
166
พฤ 14 มี.ค. 2024 5:44 pm โดย Sirayu View Topic SQL JOIN: การรวมข้อมูลจากหลายตารางในฐานข้อมูล
PHP การเปลี่ยนแปลงที่สร้างปรากฏการณ์ในโลกของเว็บ
โดย witsarutt000 พฤ 14 มี.ค. 2024 11:17 am บอร์ด PHP Knowledge
0
125
พฤ 14 มี.ค. 2024 11:17 am โดย witsarutt000 View Topic PHP การเปลี่ยนแปลงที่สร้างปรากฏการณ์ในโลกของเว็บ
ปัญหา Harddisk ขึ้น 100% เวลาเซฟไฟล์ หรือภาพ จะค้่างที่หน้าแท๊บ Expolorer
โดย Thanavat_n พ 13 มี.ค. 2024 11:02 am บอร์ด ถาม - ตอบ คอมพิวเตอร์
5
270
พ 13 มี.ค. 2024 1:34 pm โดย Thanavat_n View Topic ปัญหา Harddisk ขึ้น 100% เวลาเซฟไฟล์ หรือภาพ จะค้่างที่หน้าแท๊บ Expolorer
ตู้รองเท้า ไอเท็มวิเศษช่วยจัดระเบียบคอลเลกชันรองเท้าคู่โปรด
โดย @Foretoday อ 12 มี.ค. 2024 1:46 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
184
อ 12 มี.ค. 2024 1:46 pm โดย @Foretoday View Topic ตู้รองเท้า ไอเท็มวิเศษช่วยจัดระเบียบคอลเลกชันรองเท้าคู่โปรด
แนะนำสถานที่น่าเที่ยวในจังหวัดชุมพรพร้อมวิธีการเดินทาง
โดย witsarutt000 จ 11 มี.ค. 2024 6:14 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
142
จ 11 มี.ค. 2024 6:14 pm โดย witsarutt000 View Topic แนะนำสถานที่น่าเที่ยวในจังหวัดชุมพรพร้อมวิธีการเดินทาง
ย้าย VM ข้าม Host ด้วย scp กรณีศึกษา Vmware ESXI
โดย mindphp อ 10 มี.ค. 2024 4:36 am บอร์ด Linux - Web Server
0
239
อ 10 มี.ค. 2024 4:36 am โดย mindphp View Topic ย้าย VM ข้าม Host ด้วย scp กรณีศึกษา Vmware ESXI
IP และ vpn (VMware)
โดย ballmykids อ 10 มี.ค. 2024 2:35 am บอร์ด ถาม - ตอบ คอมพิวเตอร์
2
203
จ 11 มี.ค. 2024 3:19 pm โดย ballmykids View Topic IP และ vpn (VMware)
แบบนี้ต้องทำยังไง ในกรณีที่ Server เดิมเราได้ทำการ Raid 1 กับ HDD 2 ลูกแรกแล้ว
โดย Anonymous ศ 08 มี.ค. 2024 7:02 am บอร์ด ถาม - ตอบ คอมพิวเตอร์
1
166
ศ 08 มี.ค. 2024 8:12 pm โดย mindphp View Topic แบบนี้ต้องทำยังไง ในกรณีที่ Server เดิมเราได้ทำการ Raid 1 กับ HDD 2 ลูกแรกแล้ว