ช่วงนี้มีหลายคนถามผมมาเกี่ยวกับเรื่องของ "Template Engine" หลายคน ก็เลยคิดว่าน่าจะทำเป็นบทความเล็กๆ ซะหน่อย เพราะถ้าเป็น บทความใหญ่ๆ รับรองเรื่องมันยาว แน่นอน
พูดถึง Template Engine นั้นมีหลายตัวมาก เลยทั้ง bTemplate, FastTemplate, TemplatePower, TBS (TinyButStrong), PatTemplate, etc.
เรียกได้ว่ามีมากมายเยอะแยะไปหมด แต่ที่ชนะใจผมและ คนทั่วโลก ทิ้งห่างแบบไม่เห็นฝุ่น รวมทั้งได้รับการรับรองจาก PHP โดยตรงก็คือ "Smarty Template Engine" นั่นเอง ด้วยความที่ตัวมันทำงานได้ยืดหยุ่น มีคนใช้เยอะ ทำให้มีการแชร์ข้อมูลมาก พัฒนาอย่างต่อเนื่อง ที่สำคัญ Absolutely Free ทำให้หลายๆ คนเลือกที่จะใช้มันสำหรับ พัฒนาโปรเจคใหญ่ๆ วันนี้ผมก็เลยจะมาแนะนำคร่าวๆ สักหน่อย
เกริ่นกันก่อน หลายๆคนอาจจะเริ่ม ตะหงิดๆ ทำไมพักนี้ผม อัพเดทอะไร หลายๆอย่างไม่ได้ เกี่ยวกับ jQuery เลย นั่นก็เพราะว่า "นึกไม่ออก" นั่นเอง (-*-)
jQuery มันเอาไว้ประยุกต์ใช้งาน มีแค่ Basic ก็สามารถทำได้ทุกอย่างแล้ว ที่เหลือก็หา plugin มานั่งแกะๆ เอาก็จะได้ทักษะเพิ่มไปเรื่อยๆ เอง ยิ่งใครมีพื้น js แน่นอยู่แล้ว แทบจะเรียกว่า ของหมูๆเลย ฉะนั้นในระหว่างที่ยังนึก ว่าจะอัพไรดีไม่ออก ผมก็จะเอาความรู้ ที่พอจะมีตกค้างมาบ้าง มาอัพเดทแทนไปพลางๆ 555
Jul
14
PHP5 ที่เราใช้นั้น เท่าที่ผมเห็น และพิสูจน์ด้วยตัวเอง มันมีข้อดีกว่า PHP4 มากๆ นอกเหนือจากการสนับสนุน OOP เต็มรูปแบบแล้ว ยังเพิ่ม built in function อีกมากมาย หนึ่งในนั้นก็คือคำสั่ง get_headers ที่ผมช้อบชอบ
จำได้มั้ยครับ สมัยก่อนเวลาเราจะอ่าน xml โดยใช้ php ที ต้องไปใช้คำสั่งตระกูล xml_parser ที่แสนวุ่นวาย มาจน PHP5 เพิ่มคำสั่ง simplexml มา และแล้วทุกอย่างก็เปลี่ยนไปตลอดกาล....
คำสั่ง simplexml เป็น extension ที่เริ่มมีมาใน PHP5 นี้เอง ชุดคำสั่งสามารถช่วยเราจัดการ xml ได้อย่างสบายมือ หยั่งกะท่อง array ^^ วันนี้ผมจะมา อธิบายแค่ชุดคำสั่งที่ใช้ในการ read เท่านั้นก่อน จะได้ไม่เป็นการยากเกินไป
ตัวผมเองนั้นมีประสบการณ์ไม่ดีกับปัญหาMySQL จนเกือบจะเลิกใช้มันไปแล้วครั้งนึง จนหาทาง optimize code แบบต่างๆออกมาซึ่งได้ผลดีบ้างน้อยบ้างตามแต่จะว่ากัน ดังนี้
1. query database I/O ธรรมดา
:ผลลัพธ์ คนเข้าเยอะ โฮสเดี้ยง เวบล่ม โดนด่า
2. ทำ index ให้กับ db
:ผลลัพธ์ สามารถใช้ได้แค่เป็นส่วนประกอบของการทำ optimize code เท่านั้น แต่ถือว่า "จำเป็น" เลยทีเดียว
3. ทำการ cache output ออกมาเป็น static (html)
:ผลลัพธ์ ดีทีเดียว แต่มีปัญหาเรื่องความสดของข้อมูล manage เรื่อง fresh content ยาก