Thursday, January 29, 2009

Object's Chains with PHP

เขียน PHP บ่อยๆ ใช้ framework มาก็นานวันนี้สงสัยอะไรนิดหน่อย เลยลองไปเปิดตัว framework ที่ใช้ๆ อยู่ ก็เลยเจอของดีเข้า blog ตอนนี้ก็เลยขอ "เอามะพร้าวห้าวมาขายสวน" อีก 1 ตอน
พอดีว่าไปเจอการเขียนที่ใช้ method ของ Object ต่อกันไปเรื่อยๆ เช่น
$o = new MyClass();
$name = $o->setAuth('username', 'sitdh')->setAuth('password', '123456')->getAuth();

ไม่แน่ใจเหมือนว่าฝรั่งเขาเรียกว่าอะไร เอาเป็นว่ามันเป็นศัพท์ส่วนตัวครับ กำลังหาชื่ออย่างเป็นทางการอยู่ครับ

เห็นมันน่าสนใจดีประหยัดเวลาด้วย ก็เลยลองไปเปิด code ดู ละลานตาครับ อ่านลายมือฝรั่งสนุกมาก ไล่ไปก็เจอที่มาที่ไปที่ทำให้เราเขียนโค้ดแบบข้างบนได้ โดยจะต้องใส่ return $this; ในบรรทัดสุดท้ายของการทำงานใน Method นั้นเช่น

<?php
    class MyClass {

        protected $_p = array();

        public function setAuth($key, $value) {
            $this->_p[$key] = $value;
            return $this;
        }
    }


?>

เท่านี้ก็เป็นอันเสร็จพิธี

0 comments:

Post a Comment