เกตเตอร์คุณสมบัติใน OOP ใน PHP
สมมติว่าเรามีคลาสต่อไปนี้ พร้อมกับคุณสมบัติแบบ private:
<?php
class User {
private $name;
private $surn;
public function __construct($name, $surn) {
$this->name = $name;
$this->surn = $surn;
}
}
?>
อย่างที่คุณเห็น คุณสมบัติเหล่านี้ถูกกำหนด ครั้งเดียวเมื่อสร้างอ็อบเจ็กต์ อย่างไรก็ตาม ตอนนี้ คุณสมบัติเหล่านี้ไม่สามารถอ่านได้ เพราะเป็นแบบ private และไม่มีเมธอดที่เกี่ยวข้อง สำหรับทำสิ่งนี้
มาสร้างเมธอดพิเศษสำหรับคุณสมบัติของเรา
ที่อนุญาตให้อ่านคุณสมบัติเหล่านี้
เมธอดดังกล่าว (เรียกว่า เกตเตอร์) โดยปกติแล้ว
จะขึ้นต้นด้วยคำว่า get จากนั้นตามด้วย
ชื่อของคุณสมบัติที่ต้องการอ่าน
มาสร้างเกตเตอร์สำหรับคุณสมบัติของเรากัน:
<?php
class User {
private $name;
private $surn;
public function __construct($name, $surn) {
$this->name = $name;
$this->surn = $surn;
}
public function getName() {
return $this->name;
}
public function getSurn() {
return $this->surn;
}
}
?>
มาทดสอบการทำงานของพวกมันกัน มาสร้างอ็อบเจ็กต์ โดยส่งผ่าน ข้อมูลผู้ใช้เป็นพารามิเตอร์:
<?php
$user = new User('john', 'smit');
?>
มาอ่านข้อมูลนี้โดยใช้ เกตเตอร์:
<?php
var_dump($user->getName());
var_dump($user->getSurn());
?>
ในคลาส Employee ให้สร้าง
คุณสมบัติแบบ private สามอย่าง: ชื่อ เงินเดือน
และอายุ
ส่งค่าเริ่มต้นให้คุณสมบัติเหล่านี้ผ่าน คอนสตรักเตอร์
สร้างเกตเตอร์ เพื่อคืนค่า ของแต่ละคุณสมบัติของเรา