สั้นๆง่ายๆ คำว่า $this นี่ไว้ใช้สำหรับเรียกฟังก์ชั่นหรือตัวแปรภายในคลาส ดอตอยอ ดูตัวอย่าง
แค่นี้แหละ ไม่มีคำอธิบายมากกว่านี้ เพราะหน้าที่มันมีแค่นี้
ถามว่าทำไมไม่เรียกมันตรงๆ คือไม่ต้องมี $this-> มาคั่นข้างหน้าน่ะ?
จากคำอธิบายที่อ่านๆมา เขาบอกว่า เอาคำว่า $this-> มาคั่นหน้าฟังก์ชั่นหรือตัวแปรสักหน่อย เพื่อจะได้สังเกตุง่ายๆว่า เนี่ยตัวแปรนี้มันอยู่ในคลาสนี่แหละ เนี่ยฟังก์ชั่นนี้มันอยู่ในคลาสนี่แหละ ไม่ต้องไปหาไกล มันบอก scope พี่ ซาโขบบบบบบ ใจ๋
ผมว่านะถ้าเขาจะทำให้ไม่ต้องมี $this-> เขาก็น่าจะทำได้นะ ตอนสร้างภาษา แต่จากเหตุผลที่เขาให้มา ผมยอมรับได้นะ ที่บอกว่าเพื่อให้เราหาฟังก์ชั่นได้ง่ายขึ้น เพราะรุ้ว่ามันอยู่ในคลาสนี้ ผมให้ผ่าน
คุณลองนึกถึงภาพระบบใหญ่ๆที่มัน include ไฟล์เข้ามาทีเป็นสิบ หาฟังก์ชั่นกันมึน ว่ามันมาจากไฟล์ไหน
เอาล่ะมีข้อสังเกตให้สังเกตุ
ตัวแปรเมื่อถูกเรียกด้วย $this จะไม่มี $ ส่วนฟังก์ชั่นจะยังมี () เหมือนเรียกฟังก์ชั่นปกติ
Leave a Reply