AMFPHP
Posted by PunNeng, Wed Nov 16 23:07:00 UTC 2005
มาต่อจากคราวที่แล้ว Flash Remoting คราวนี้มาว่ากันด้วยเรื่อง AMFPHP
AMFPHP คืออะไร
AMFPHP เป็นชุดที่ต่อเติมมาจาก Flash Remoting Framwork ทำหน้าที่เป็นทางผ่านจาก Flash ไปยัง PHP ซึ่งเป็นชุด Open-Source ของฟรีครับ ของฟรี การทำงานไว้ใจได้ ตัวเวอร์ชันใหม่นี้ ฝ่ายพัฒนาได้พยายามทำให้ชุดพัฒนาอันนี้มีความเสถียร และเพิ่มความสามารถให้มากขึ้นให้เหมือนกับการต่อ Remoting กับ ColdFusionลองมาเปรียบเทียบ AMFPHP กับตัวอื่นดู
ชุดที่ถูกพัฒนาต่อยอดจาก Flash Remoting ที่ทำหน้าที่เหมือนๆ กับ AMFPHP นี้ (ยกเว้น FlashORB) จะใช้การระบุค่าที่ทำให้ Flash กับ back-end อีกฝั่งอ่านกันออก จะทำกันบนฝั่ง Server side เช่น ชุด RemotingMX for .NET or JAVA จะใช้ ASObject เป็นตัวห่อหุ้ม ระบุค่าที่กำหนดเอาไว้ ของ actionscript object เป็น Obejct ตัวใหม่ ถ้ามันทำการส่งไปยัง back-end อีกตัว ฝั่ง back-end นั้น ก็ต้อง import ASObject เข้ามา เพื่อจะทำให้มองเป็น Object ชนิดเดียวกัน ทำให้อ่านกันรู้เรื่อง (ตัวอย่าง)แต่ AMFPHP ไม่ใช่ มันจะไม่ใช่วิธีแบบนี้ AMFPHP จะใช้การระบุไปใน PHP เลย โดยใช้ methodTable เป็นตัวกำหนดก่อน ใน PHP class นั้นๆ (ตัวอย่าง) ซึ่งมันจะไม่ไปตีกับ class ของเรา ในกรณีที่เราจะเอา class นี้ ไป reuse ในงานอื่นๆ ที่ไม่เกี่ยวกับ Flash Remoting และในส่วนของ ActionScript จะมีการส่งผ่านข้อมูลโดยมี datatype ของมัน
มันจะเป็นการง่ายมากถ้าเราเกิดต้องย้าย app ของเราซึ่งถูกสร้างสำหรับ ColdFusion, Java or .NET แล้วจะ remote ไปยัง AMFPHP Framework เพราะ ActionScript ทีทำไว้ไม่ต้องไปเปลี่ยนแปลง ซึ่งไม่เหมือนกับ PHPObject (จะกล่าวถึงอีกทีในคราวหลัง) ตัว AMFPHP จึงทำหน้าที่เสมือนประตูทางผ่านจริงๆ
จุดเด่นอีกอย่างก็คือ ทำงานผ่าน service browser ได้ นั่นหมายความว่า เราจะทำการสร้าง code ให้เรา ผ่านทาง html ซึ่งจะมี form ให้กรอก สำหรับมือใหม่ คงถูกใจ
ทำไมต้อง PHPAMF
- ฟรี
- เร็ว
- เป็น open-source ง่ายต่อการพัฒนา
- ไม่ยากต่อการต่อเติม เพราะตัว Framework มีลักษณะเป็น pattern ทำให้ศึกษาง่าย
- ใช้ OOP ซึ่งมีลักษณะง่ายต่อการควบคุม
- ตัว gateway และ ตัว service ไม่ขึ้นแก่กัน เพราะสร้างนอก AMFPHP ทำให้เอาไป reuse ได้ง่าย
- มีการ generate code ผ่านบน html ง่ายสุดๆ ไม่ต้องไปเสียเวลาพิมพ์
- การควบคุม SQL จะสะดวกขึ้น เพราะ support SQLเกือบทุกชนิด ไม่ว่าจะเป็น mysql, postgress, adodb, sqlite, mysqli และอื่นๆ
- ไม่ต้องมาคอยทำซ้ำกับ source เราหลายๆครัง ในกรณีที่ต้องย้ายไปทำร่วมกับตัวอื่นๆ เช่น ColdFusion, Java, .NET ฯลฯ ซึ่งไม่เหมือนกับ PHPObject
- มีตัวอย่างบานเลย มี comunity เยอะมาก
(1)ตอนนี้มันจะต่อกัน 4 ตัวนะ คือ Flash - Flash Remoting - AMFPHP - PHP โครงสร้างจริงๆ อาจจะไม่ใช่แบบนี้ 100% แต่แบบนี้ มันก็มองเห็นเป็นรูปเป็นร่างและทำความเข้าใจง่ายดี
แก้ไขล่าสุด วันที่ 12 มิถุนายน 2550 เวลา 3.04 น.
ปล. ใครเข้า FlashORB ไม่ได้ เข้า FlashORB Documentation แทนนะครับ
ข้อมูลจาก
http://www.amfphp.org
good article