ในบทความนี้ เราเรียนรู้วิธีที่ดีที่สุดในการสร้างกลยุทธ์ getter และ setter ใน PHP กลยุทธ์ Getter และ setter ถูกใช้เมื่อเราต้องการจำกัดการเข้าถึงตัวแปรโดยตรงโดยผู้ใช้ปลายทาง Getters และ setters เป็นเมธอดที่ใช้ในการกำหนดหรือดึงค่าของตัวแปร โดยปกติแล้วจะเป็นค่าไพรเวต
ตามชื่อที่แนะนำ วิธีการ getter เป็นเทคนิคที่ได้รับหรือกู้คืนมูลค่าของวัตถุ นอกจากนี้ setter method เป็นเทคนิคที่ใช้กำหนดค่าของวัตถุ
ตัวอย่าง
มาทำความเข้าใจการใช้เมธอด getter และ setter ผ่านตัวอย่างกัน
<?php class Person{ private $name; public function setName($name){ $this->name = $name; } public function getName(){ return $this->name; } } $person = new Person(); echo $person->name; ?>
ผลลัพธ์:
PHP Error Cannot access private property Person::$name
คำอธิบาย:
ในคลาส Person ของเราด้านบน เรามีทรัพย์สินส่วนตัวที่เรียกว่า $name เนื่องจากเป็นทรัพย์สินส่วนตัว เราจึงไม่สามารถเข้าถึงได้โดยตรงดังที่กล่าวมา และนั่นจะทำให้เกิดข้อผิดพลาดร้ายแรง
ตัวอย่าง
ในการรันโค้ดด้านบนและรับผลลัพธ์ที่ต้องการ มาทดสอบตัวอย่างนี้กัน
<?php class Person{ private $name; public function setName($name){ $this->name = $name; } public function getName(){ return 'welocme'. $this->name; } } $person = new Person(); $person->setName('Alex'); $name = $person->getName(); echo $name; ?>
ผลลัพธ์:
welcomeAlex
คำอธิบาย:
ที่นี่เพื่อให้เข้าถึงคุณสมบัติส่วนตัวของเรา เราได้สร้างฟังก์ชัน "getter" ที่เรียกว่า getData อีกครั้ง เนื่องจากการมองเห็นคุณสมบัติถูกตั้งค่าเป็นส่วนตัว คุณจะไม่สามารถเปลี่ยนแปลงหรือแก้ไขค่าของคุณสมบัติดังกล่าวได้เช่นเดียวกัน ดังนั้น คุณควรใช้หนึ่งในฟังก์ชัน "setter" ที่เราสร้างขึ้น:setName หลังจากนั้น เราได้ยกตัวอย่างวัตถุ Person ของเรา
เรา "ตั้งค่า" คุณสมบัติ $name เป็น "Alex" โดยใช้เทคนิค setter setData จากนั้นเราดึงค่าของคุณสมบัติ $name โดยใช้ฟังก์ชัน getter getData