php public static class case study

“Bug Fix db.class เกิดปัญหาการเรียกใช้ภายนอก เนื่องจากเป็นตัวแปร this-> และอยู่ใน public function แต่เมื่อเรียกจากภายนอกไม่สามารถทำงานได้ เนื่องจาก class มองเห็นว่าเป็นตัวแปรภายใน จึงไม่ return ค่ากลับออกไป” วันนี้ได้ลองเรียก CON::PageNavi(parameter) ผลปรากฏว่า ไม่สามารถทำงานนอก class ได้ เนื่องจากจะมี $this-> เป็นตัวแปรใน  class   แต่พอลบ $this-> ออก กลับทำงานได้ ด้วยการเรียกใช้งานแบบนี้ ในที่นี้อาจจะเป็นเพราะกำหนดให้ตัวแปร ใช้สำหรับใน class เท่านั้น เมื่อมีการเรียกใช้จากภายนอก จึงไม่สามารถทำงานได้ เนื่องจากติด permission  ของ class ทั้งที่จริง การเป็น public น่าจะใช้ได้? หรืออาจจะเป็นข้อจำกัดของ Static ก็ยังไม่ได้หาคำตอบที่แน่ชัด….

making class progamming flexibility is important

6 มิ.ย. 54 19.17 น. วันนี้จะลองเขียน class ให้มีความยืดหยุ่น (flexibility) สูงๆ ให้สามารถใช้ได้ทุกสถานการณ์ ไม่ว่างจะมีการเปลี่ยนแปลง รูปแบบข้อมูล (data) การเข้าถึง (permission) การจัดเก็บข้อมูล (database) โดนในแนวคิด จะเริ่มจากการกำหนด parameter ด้วยตัวแปร แล้ว count จำนวนของตัวแปร ให้แสดงผลออกมาเป็น form สำหรับใช้ในการ insert, update โดยในที่นี้จะทำ class member() ขึ้นมา ในช่วงทดลอง จะมีเพียง 5 field เท่านั้น ดังนี้ mem_id mem_user mem_pass mem_email mem_position โดยจะแสดง input เป็น type ดังนี้ mem_id (text) mem_user (text) mem_pass …

เอาอีกแล้วเว้ย ทำ class ได้ไม่เสร็จ ไม่สิ้น

ตอนนี้ติดปัญหาก็คือว่า ทำ fucntion ไว้ให้มัน save file โดยการสร้าง folder แยก เป็นรายปี และรายเดือน ตัวอย่างเช่น เป็นแบบของ WordPress ซึ่งการเก็บไฟล์แบบนี้ ทำให้แยกแยะไฟล์ ในแต่ละเดือนได้ ประโยชน์ที่ผมเห็นชัดๆ ก็คือ เวลา backup ครับ เราเลือกเป็น folder ได้ แต่!! ปัญหาก็คือว่า ผมเก็บไฟล์ไปแล้ว 1 ครั้ง สมมุติว่า ผมอัพเดทเมื่อวันที่ 28  มีนาคม 2011 ไฟล์ที่ผมอัพโหลดจะอยู่ใน folder ที่ชื่อ 2011/03/ หากว่าวันนึง ผมต้องการแก้ไข ผมต้องดึง path ของไฟล์เดิมขึ้นมาด้วย นั่นหมายถึง ผมต้องเก็บไฟล์ใน database ไว้ แบบ full path นั่นก็คือ 2011/03/myfilename.zip หากผมทำการอัพเดทไฟล์นี้ในเดือนหน้า field ที่ผมเก็บ …

รื้อ class อีกซักที

วันนี้ รื้อ class Article() เพื่อให้มันเป็นก้อนเดียว ทำงานได้เบ็ดเสร็จ สิ่งที่เพิ่มเข้าไป ก็มี อัพโหลดรูปภาพเข้าไปด้วย ซึ่งหากมองกันยาวๆ คงต้องเปลี่ยนเป็น class uploadFile() หรือไม่ก็เพิ่ม method upload ให้กับ article ไปก่อนใน version แรก ที่พัฒนา หากว่าอนาคตต่อยอดได้ ก็ทำเป็น class ไป ใน class ก็จะทำให้มันสามารถเช็กได้ว่า ไฟล์ที่ upload เข้ามานั้นเป็นไฟล์ประเภทใด ใช่ไฟล์ที่อนุญาติหรือไม่ (ไฟล์อนุญาติ จะใส่ไว้ใน config) เมื่อเช็คแล้ว ก็จะดำเนินการต่อ หากเป็นไฟล์เอกสาร ก็จะเก็บไว้ในส่วนของเอกสาร ——————————————— ไม่ดีกว่า อัพโหลดไว้ที่ๆ เดียวกันเลย ให้มัน mkdir ขึ้นมาใหม่ แบบ wordpress แบบให้แยกตามปี ตามเดือน เช่น /uploads/2011/03/ แล้วเก็บไฟล์ดิบๆ ไว้เลย …