Chaining-methods จะว่ามันเป็นคุณสมบัติอันโดดเด่นของ OOP ก็ไม่ใช่ซะทีเดียว มันเป็นแค่เทคนิค

ถ้าท่านเคยใช้พวกเฟรมเวิร์คมาก่อนท่านจะคุ้นกับ ตอยอ ตัวอย่างนี้มาก

การเรียกเมธอดต่อๆกันเป็นแบบลูกโซ่อย่างนี้ เห็นได้ทั่วไปเมื่อท่านใช้เฟรมเวิร์ค มันดูง่าย มันดูเป็นระเบียบ มันดูล้ำ

ผมเขียน laravel มาก่อน เห็นการเขียนลักษณะนี้จนชิน และผมก็เขียนอย่างนี้เหมือนกัน แต่ไม่เคยตั้งคำถามว่าไอ้คนทำเฟรมเวิร์คมันทำได้อย่างไรให้เราสามารถเรียกฟังก์ชั่นต่อๆกันแบบนี้

มีเฉลย ง่ายๆกากๆเลย ดูในโค้ดตรงคำสั่ง return มัน return $this; ซึ่งมันจะคืนค่ากลับไปเป็น object ตัวมันเอง เพราะฉะนั้นมันก็สามารถเรียกฟังก์ชั่นอื่นต่อๆไปได้

อ๋อ อย่างนี้นี่เอง