php public static class case study

Public Static Function

"Bug Fix db.class เกิดปัญหาการเรียกใช้ภายนอก เนื่องจากเป็นตัวแปร this-> และอยู่ใน public function แต่เมื่อเรียกจากภายนอกไม่สามารถทำงานได้ เนื่องจาก class มองเห็นว่าเป็นตัวแปรภายใน จึงไม่ return ค่ากลับออกไป"

วันนี้ได้ลองเรียก CON::PageNavi(parameter)

ผลปรากฏว่า ไม่สามารถทำงานนอก class ได้ เนื่องจากจะมี $this-> เป็นตัวแปรใน  class
 public static function pageGoto($page, $pagesize) 
 {
  $this->page = (empty($page)) ? 1 : $page;
  $this->goto = ($this->page-1) * $pagesize;
  return $this->goto;
 }

แต่พอลบ $this-> ออก กลับทำงานได้ ด้วยการเรียกใช้งานแบบนี้

echo CON::PageNavi(....) 

ในที่นี้อาจจะเป็นเพราะกำหนดให้ตัวแปร ใช้สำหรับใน class เท่านั้น เมื่อมีการเรียกใช้จากภายนอก จึงไม่สามารถทำงานได้ เนื่องจากติด permission  ของ class ทั้งที่จริง การเป็น public น่าจะใช้ได้?

หรืออาจจะเป็นข้อจำกัดของ Static ก็ยังไม่ได้หาคำตอบที่แน่ชัด....

ป้ายกำกับ: , , ,