l10n และ i18n อาจทำพิษ จนออก Hoffman Framework pre-alpha ช้าลง

ทำ HMF เอง แถมทำข่าวเองเลย ฮา ….

วันนี้นั่ง implement ตัว Form Component และ DateTime Component ของ HMF ซึ่งกำลังไปได้ดี แต่สิ่งที่ผมลืมไปคือเรื่อง l10n และ i18n ไปสนิท เลยไล่ปรับใหม่สำหรับ Form และ DateTime (ผม note ใส่ใน TODO ของ project ไว้แล้ว แต่ไม่ได้สังเกตเลย) ทำให้ไล่หลายส่วนใหญ่ ซึ่งต้องไล่ส่วน Runtime, Configuration-file และ Component ที่เกี่ยวกับ l10n และ i18n ทั้งหมด เพื่อให้มันรองรับได้ตั้งแต่ต้น เหตุผลง่าย ๆ ในการรองรับ l10n และ i18n ตั้งแต่ pre-version เพราะผมอยากให้มันทำงานได้หลายภาษาตั้งแต่ต้นเลย และการมาไล่ปรับทีหลังหลังจากปล่อย pre ไปแล้ว อาจทำให้ app ของนักพัฒนาที่เอา pre-version ไปก่อนอาจมีปัญหาความเข้ากันไม่ได้เมื่อออก version ใหม่ ๆ ออกมา ซึ่งจริง ๆ มันก็มีความเสี่ยงอยู่แล้ว ไม่ว่าจะมี version ใด ๆ ออกมา แต่อยากให้น้อยที่สุดใน pre-version เพราะถือว่าเป็นการออกตัวครั้งแรก อยากให้ประทับใจในหลาย ๆ ส่วน

แต่ก็ยังมีข่าวดีตรงที่ผมทำ content-page แบบ multiple ได้แล้วในตอนนี้ ด้วยเหตุผลที่ว่า ถ้าทำ sigle master/content-page นี่มันดูเฉย ๆ และน่าจะยุ่งยาก ผมเลยนั่งไล่ปรับตัว content-page ของ RenderView ให้รองรับ multiple ของ content-page ได้ตั้งแต่ต้นเลย โดยส่วนของ RenderView หลายส่วน นั้นได้แนวคิดจาก PHPTemplate ของ Drupal มาด้วย โดยเอามาผสมกับ MasterPage ของ ASP.NET ครับ

ส่วนตัว Form Component กะว่าจะทำให้มันคล้าย ๆ กับ Rails (Ruby) แต่ไป ๆ มา ๆ ไม่เอาดีกว่า ทำตามแนวทางเดิม แต่เพิ่มความสะดวกลงไป น่าจะ work กว่า และกะจะ build-in ลงใน Smarty เป็น function นึงที่มา call กับ Form Component แต่ ไป ๆ มา ๆ ไม่เอาดีนั้นแหละ ใช้วิธีสร้าง object ในตัว Controller  แล้วโยนใส่ View ไปเลยง่ายกว่าเยอะ (ไม่เสียเวลาด้วย)

ตอนนี้ไล่ปรับหลายส่วนพยายามให้เท่ากับ version 0.1 ให้ได้ (ตัวนี้ไม่ได้ปล่อยออกมา เพราะใช้ยาก แต่ก็เป็นตัวที่เอาไว้รับงานประทังชีวิตไว้หลายงานเหมือนกัน)