Smarty (Template Engine) - Why use it?
เว็บไซต์ : http://smarty.php.net/
Download : http://smarty.php.net/download.php
เอกสารการใช้งาน : http://smarty.php.net/docs.php
ทำไมต้อง Smarty ?
[เรียบเรียงจากเว็บไซต์ ของ Smarty โดยตรง - ผ่านทักษะภาษาอังกฤษในระดับ C-- ของผม]
ถ้าเก่งภาษาอังกฤษ แนะนำให้อ่านโดยตรงที่นี่นะคับ http://smarty.php.net/whyuse.php
วัตถุประสงค์หลักสำหรับการออกแบบโปรแกรม Smarty ขึ้นมานั้น ก็ เพื่อต้องการแยกการทำงานในส่วนของ การแสดงผล (Presentation Layers) ออกจาก ส่วนของ การประมวลผล ข้อมูล(Business Logic Layers) อย่างชัดเจน ซึ่ง โดย ส่วนใหญ่ แล้ว โปรแกรมการประมวลผล และ การแสดงผลจะ ใช้ รูปแบบ ของ ภาษาที่ ต่างกัน ค่อน ข้างชัดเจ นอยู่แล้ว
โดย ที่การ แสดง ผล เราจะ ใช้ ภาษา HTML ส่วนการ ประมวลผล เราจะใช้ ภาษา PHP
Business Logic Layer ->PHP
Presentation Layer -> HTML
สำหรับ ส่วนการแสดงผล จะเป็นส่วนที่ แสดงข้อมูลต่างๆ ถึง ผู้ใช้งาน ระบบโดยตรง ซึ่งจะถูกสร้าง และ ดูแล ผ่าน ไฟล์ template ต่างๆ และส่วนใหญ่ ถูกสร้าง และปรับปรุงโดย ผู้ออกแบบ(Designer) หน้าตาของ เว็บไซต์ หรือ ระบบโดยตรง
นอกจากนี้ฟังก์ชัน พื้นฐานทั่วๆ ไปของ เว็บไซต์ หรือ ระบบ ก็จะเป็นการ ดึงข้อมูล แล้วไปกำหนดค่าที่ไฟล์ Template แล้วทำการแสดงผลออกมา และข้อมูล โดยทั่วไปแล้ว จะเป็น หัวเรื่อง ข้อมูลรายละเอียด อื่นๆ เกี่ยวกับ ข่าว ต่างๆ เป็นต้น
สำหรับการออกแบบระบบถ้ามีการ แยกส่วนของการแสดงผล ออกจาก ส่วน ของการประมวลผล ข้อมูล ที่จะนำมาแสดง ออกจากกัน อย่างชัดเจนแล้ว
โปรแกรมเมอร์ ที่ดูแลโปรแกรม ก็ไม่ต้องห่วงเรื่องการแสดงผล ในขั้นตอนการเขียนและแก้ไขโปรแกรม
และ ขณะเดียวกัน ดีไซน์เนอร์ ผู้ที่ดูแลส่วนของของการแสดงผล ก็ ไม่ต้องห่วงเรื่อง ข้อมูล หรือโปรแกรม เวลาจะปรับปรุงหรือ แก้ไข รูปแบบการแสดงผล
และ โดยส่วนใหญ่ แล้ว การแก้ไข หรือ ปรับปรุงระบบส่วน มากจะเกี่ยวข้องกับการแสดงผล โดยส่วนใหญ่ เช่น การปรับปรุง tag html บางอย่าง การแก้ไข สไตล์ชีต (CSS) และส่วนใหญ่แล้ว ก็ จะใช้หรือทำผ่านโปรแกรมเฉพาะด้านต่าง อาทิ เช่น Dreamweaver เป็นต้น
สรุปหลักๆโดยรวม สำหรับข้อดี การใช้ Smarty
*) การปรังปรุง การประมวล ผลข้อมูลต่างๆ ทำได้ ค่อนข้าง อิสระ ไม่ต้องกังวล ในส่วนที่เกี่ยวข้องกับ การแสดงมากนัก
*) ลดผลกระทบกับ โปรแกรมที่เกิดจาก Designer , โดยที Designer ยังสามารถแก้ไข ปรับปรุง การแสดงผลได้ตามต้องการ
*) ระบบความปลอดภัยของ โปรแกรม มีมากขึ้น รวมทั้ง ง่ายต่อการ ดูแลรักษาด้วย
*) Smarty มีฟังก์ชัน ที่ช่วยจัดการเกี่ยวกับ ความปลอดภัย รวมถึง การเข้า ถึง ข้อมูลในส่วนต่างๆ เป็นอย่างดี เราจึง สามารถ กำหนด และบริหาร การเข้าถึง โปรแกรม สำหรับ Designer เพื่อป้อง กันปัญหาต่างๆ อัน อาจจะเกิดจาก การแก้ไข หรือปรับปรุงการแสดงผล ได้
อย่างไร ก็ตาม ถึงแม้จะมีการแยกส่วนของโปรแกรม (Application Code) ออกจาก ส่วนการแสดงผล (Presentation) เป็นสัดส่วนอย่างชัดเจน ก็ใช่ว่า การประมวลผลจะต้อง
แยกออกไปทั้งหมด Smarty เข้าใจว่า สำหรับการประมวลผล บางอย่าง ยังมีความจำเป็น และน่าจะต้องทำในส่วนการแสดงผล เช่น
1. กรณี ที่ สำหรับ ข้อมูลชุดเดียวกัน เวลาแสดงผลในตารางหนึ่ง สำหรับ บางแถว อาจจะต้องการแสดงผลด้วยสี อื่นๆ ต่างออกไป หรือ
2. กรณี สำหรับ ข้อมูลชุดเดียวกัน ข้อมูล บางอย่าง อาจจะต้องการ แสดงให้เป็น ตัวหนา หรือ มีสีที่ต่างออกไป
ซึ่ง เงื่อนไข ดังกล่าว เกี่ยวข้องโดยตรงกับ เป็นการประมวลเกี่ยวกับการแสดงผลซึ่ง ไม่เกี่ยวกับ โปรแกรม(Application Code) การประมวลผลข้อมูล ตั้งแต่ แรก สำหรับ ความต้องการดังกล่าว สามารถทำได้ ใน smarty
>> สำหรับ ฟีเจอร์หลัก และข้อมูล อื่นๆ วันหลัง เดี๋ยว มาโพสต์ต่อนะคับ <<
- pomcob's blog
- Login to post comments
- 2647 reads
รอติดตามด้วยใจระทึก
--
รอติดตามด้วยคันครับ
คันตรงไหนเหรอ
--
คุณ kamthorn นี่ละเอียดจริงๆ ขอบคุณน้ะครับ ... แต่ต่อไปกลัวแต่จะเขม่น และไม่พอใจชื่อของผม ที่มีตัว e สามตัว และไล่ให้ผมไปเปลี่ยนชื่อ ... ขออย่างให้ถึงวันนั้นเลยน้ะครับ ... เจ้านายยยย
เซือในสิ่งที่เฮ็ด ... เฮ็ดในสิ่งที่เซือ
ยากอ่ะพี่ป้อม ผมเขียนของผมง่าย ๆ แบบเดิมมันก็ทำงานได้อยู่แล้วนี่
ไม่เห็นต้องเปลี่ยนเลย
Surachai Tepkhumdee
So true!!!