Archive for the ‘PHP’ Category

ช่วงนี้มีหลายคนถามผมมา​เกี่ยว​กับ​เรื่องของ​ "Template Engine" ​หลายคน​ ​ก็​เลยคิดว่าน่า​จะ​ทำ​เป็น​บท​ความ​เล็กๆ​ ​ซะหน่อย​ ​เพราะ​ถ้า​เป็น​ ​บท​ความ​ใหญ่ๆ​ ​รับรองเรื่องมันยาว​ ​แน่นอน พูด​ถึง​ Template Engine ​นั้น​มีหลายตัวมาก​ ​เลย​ทั้ง​ bTemplate, FastTemplate, TemplatePower, TBS (TinyButStrong), PatTemplate, etc. เรียก​ได้​ว่ามีมากมายเยอะ​แยะ​ไปหมด​ ​แต่ที่ชนะ​ใจผม​และ​ ​คน​ทั่ว​โลก​ ​ทิ้งห่างแบบ​ไม่​เห็นฝุ่น​ ​รวม​ทั้ง​ได้​รับการรับรอง​จาก​ PHP ​โดย​ตรงก็คือ​ "Smarty Template Engine" ​นั่นเอง​ ​ด้วย​ความ​ที่ตัวมันทำ​งาน​ได้​ยืดหยุ่น​ ​มีคน​ใช้​เยอะ​ ​ทำ​ให้​มีการแชร์ข้อมูลมาก​ ​พัฒนาอย่างต่อ​เนื่อง​ ​ที่สำ​คัญ​ Absolutely Free ​ทำ​ให้​หลายๆ​ ​คนเลือกที่​จะ​ใช้​มันสำ​หรับ​ ​พัฒนา​โปรเจค​ใหญ่ๆ​ ​วันนี้ผมก็​เลย​จะ​มา​แนะนำ​คร่าวๆ​ สักหน่อย
เกริ่นกันก่อน หลายๆคนอาจจะเริ่ม ตะหงิดๆ ทำไมพักนี้ผม อัพเดทอะไร หลายๆอย่างไม่ได้ เกี่ยวกับ jQuery เลย นั่นก็เพราะว่า "นึกไม่ออก" นั่นเอง (-*-) jQuery มันเอาไว้ประยุกต์ใช้งาน มีแค่ Basic ก็สามารถทำได้ทุกอย่างแล้ว ที่เหลือก็หา plugin มานั่งแกะๆ เอาก็จะได้ทักษะเพิ่มไปเรื่อยๆ เอง ยิ่งใครมีพื้น js แน่นอยู่แล้ว แทบจะเรียกว่า ของหมูๆเลย ฉะนั้นในระหว่างที่ยังนึก ว่าจะอัพไรดีไม่ออก ผมก็จะเอาความรู้ ที่พอจะมีตกค้างมาบ้าง มาอัพเดทแทนไปพลางๆ 555
"BOSS (Build your Own Search Service)" API ใหม่แจ่มๆ จาก Yahoo ผมจะไม่ขอพูดถึง ข้อดีข้อเสียอะไรนะแล้วกัน มันต้องไปลองใช้ แล้ว วิเคราะห์กันเอาเอง แต่จะมาบอกถึงขั้นตอนการใช้งาน และ implement เลย ก่อนอื่นก็ไปสมัคร API Key กันมาก่อน ที่นี่ จากนั้นได้มาแล้วมาทำตามข้างล่างกัน
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 ยาก