aHuii.com

บล็อกของอาฮุย :)

๐๔๖ | ส่งค่า object ข้ามไฟล์

June 2nd, 2010

ปัญหาการเขียน web App โดยใช้โมเดล MVC เจอปัญหาคือ หลังจากที่เรา select rows ใน Model แล้วเนี่ยจะส่งผ่าน Controller ไปให้ View ได้ยังไง? ยิ่งเขียนแบบ OO ต้องส่ง object ข้ามไฟล์เลยทีเดียว และยิ่งไปกว่านั้น app ผมเอา AJAX มาใช้ซะด้วยสิ

โดยใน app ของผมนี้หลังจาก query ออกมาเสร็จก็จับใส่ object เรียงต่อกันเป็น array แล้วก็ตัน..ไม่รู้ว่าจะเอา object พวกนี้โยนไปยังไง

หลังจากนั่งหาข้อมูล + งมอยู่หลายชั่วโมงก็สามารถแก้ปัญหาได้ ​โดย…

1. เอา array of object มา serialize
2. หลังจากนั้นโยนใส่ตัวแปร session เพื่อให้สามารถเห็นได้ทุกไฟล์
3. ไฟล์ที่ต้องการใช้ข้อมูล สมมติว่าเป็น view สามารถเอาค่าที่เก็บใน session ออกมา unserialize เพื่อให้กลายเป็น object เหมือนเดิมได้
4. หลังจากใช้เสร็จก็ unset session ซะ

สำหรับโค้ดก็จะหน้าตาประมาณนี้
การทำ serialize
$_SESSION[“arrayOfObj”] = serialize($arrayOfObj);

การทำ unserialize
$arrayOfObj = unserialize($_SESSION[“arrayOfObj”]);

๐๐๘ | หัดเขียน PHP แบบ OO (object-oriented)

October 15th, 2008

อยากลองหัดเขียนโปรแกรมแบบ OO มานานแล้ว แต่ยังไม่มีโอกาสเหมาะๆ ซักที ตอนนี้ว่าจะทำตัวฝากรูปในเว็บ จริงๆ ก็ไปหา script แจกฟรีได้เยอะแยะ แล้วก็เอามาโมฯ ใหม่ แต่ถ้าทำแบบนั้นก็เหมือนไม่ได้ฝึกฝีมือเท่าไหร่ เพราะมันไม่ได้ใช้เวลานานขนาดทำเว็บบอร์ดไว้ใช้เอง หรือทำ blog ไว้ใช้เอง ก็เลยเอาโปรเจ็คนี้มาเป็นตัวฝึกฝีมือซะเลย

คิดไว้คร่าวๆ ก็เอาเป็น interface แบบ friendly หน่อย ใช้งานง่ายๆ function ยังไม่ต้องเยอะมาก เดี๋ยวเปิดให้ใช้ซักพักเดี๋ยวก็มี request กันมาเองว่าอยากได้อะไรเพิ่มบ้าง ถ้าไม่มีก็ดีไป ฮ่าๆๆ

ดังนั้นในเนื้องานก็เลยไม่มีอะไรมากนัก หลักๆ คือ อัพรูปขึ้นไปได้ เวลาuser login เข้าระบบ ก็เข้าไปหน้า control panel แสดงรูปที่ตัวเองอัพโหลดขึ้นมาและสามารถลบได้ หรือจะอัพโหลดเพิ่มก็ได้ ส่วนการจัดเก็บก็เก็บแบบแยกแต่ละวัน ทั้งหมดแค่นี้เอง..

เริ่มต้นหัดเขียน class สร้าง object เรียก method (function) ฉลุยไม่มีปัญหา มองไปมองมา เอ..ใน function เราทำไมประกาศตัวแปรซ้ำๆ กันเยอะจัง มันเอามาประกาศข้างนอกก็ได้นี่หว่า และแล้ว..ก็เจอตอจนได้

aHuii.com

บล็อกของอาฮุย :)