ในการเข้าใช้เว็บไซต์ของผู้ใช้งานนั้น เรียกได้ว่าอย่างน้อยใน 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

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
คำสั่ง eval() ใน Python วิธีการใช้งานการประมวลผลสตริงเป็นโค้ด
โดย athirach.offcial พฤ 28 มี.ค. 2024 11:07 am บอร์ด Python Knowledge
3
550
ศ 29 มี.ค. 2024 9:18 am โดย athirach.offcial View Topic คำสั่ง eval() ใน Python วิธีการใช้งานการประมวลผลสตริงเป็นโค้ด
การใช้งานเมทอด zip() ใน Python: รวมข้อมูลจาก objects หลายๆ อันเข้าด้วยกันเป็น tuple อธิบายและตัวอย่าง
โดย athirach.offcial พฤ 28 มี.ค. 2024 10:51 am บอร์ด Python Knowledge
1
122
พฤ 28 มี.ค. 2024 8:55 pm โดย athirach.offcial View Topic การใช้งานเมทอด zip() ใน Python: รวมข้อมูลจาก objects หลายๆ อันเข้าด้วยกันเป็น tuple อธิบายและตัวอย่าง
ปิดโหมดข้อความธรรมดาในอีเมลแล้ว แต่เครื่องมือไม่ขึ้น ต้องตั้งค่ายังไง
โดย Narisara พฤ 28 มี.ค. 2024 10:46 am บอร์ด ถาม - ตอบ คอมพิวเตอร์
1
126
พฤ 28 มี.ค. 2024 11:13 am โดย Narisara View Topic ปิดโหมดข้อความธรรมดาในอีเมลแล้ว แต่เครื่องมือไม่ขึ้น ต้องตั้งค่ายังไง
ตัวแปร List ใน Python เหมาะสำหรับงานแบบไหน
โดย athirach.offcial พ 27 มี.ค. 2024 11:34 am บอร์ด Python Knowledge
0
98
พ 27 มี.ค. 2024 11:34 am โดย athirach.offcial View Topic ตัวแปร List ใน Python เหมาะสำหรับงานแบบไหน
data science คืออะไร ? มีหน้าที่อะไร
โดย athirach.offcial พ 27 มี.ค. 2024 11:24 am บอร์ด Python Knowledge
0
94
พ 27 มี.ค. 2024 11:24 am โดย athirach.offcial View Topic data science คืออะไร ? มีหน้าที่อะไร
ไลบรารี SciPy การใช้เพื่อแก้ปัญหาทางวิทยาศาสตร์และคณิตศาสตร์
โดย athirach.offcial พ 27 มี.ค. 2024 11:14 am บอร์ด Python Knowledge
0
82
พ 27 มี.ค. 2024 11:14 am โดย athirach.offcial View Topic ไลบรารี SciPy การใช้เพื่อแก้ปัญหาทางวิทยาศาสตร์และคณิตศาสตร์
เชื่อมต่อ WordPress กับฐานข้อมูล วิธีเชื่อมต่อฐานข้อมูลง่ายๆ
โดย athirach.offcial พ 27 มี.ค. 2024 11:03 am บอร์ด Wordpress Developing Knowledge
0
41
พ 27 มี.ค. 2024 11:03 am โดย athirach.offcial View Topic เชื่อมต่อ WordPress กับฐานข้อมูล วิธีเชื่อมต่อฐานข้อมูลง่ายๆ
SQL - Trigger คืออะไร? มีประโยชน์อย่างไรในการทำงาน
โดย athirach.offcial พ 27 มี.ค. 2024 10:54 am บอร์ด SQL Knowledge
1
287
พ 27 มี.ค. 2024 5:49 pm โดย athirach.offcial View Topic SQL - Trigger คืออะไร? มีประโยชน์อย่างไรในการทำงาน