Getter của thuộc tính trong OOP PHP
Giả sử chúng ta có lớp sau với các thuộc tính private:
<?php
class User {
private $name;
private $surn;
public function __construct($name, $surn) {
$this->name = $name;
$this->surn = $surn;
}
}
?>
Như bạn thấy, các thuộc tính này được thiết lập một lần khi đối tượng được tạo. Tuy nhiên, hiện tại, không thể đọc được các thuộc tính này, vì chúng là private và không có các phương thức tương ứng để làm điều đó.
Hãy tạo cho các thuộc tính của chúng ta những
phương thức đặc biệt cho phép đọc các thuộc tính này.
Các phương thức như vậy (chúng được gọi là getter) thường
bắt đầu bằng từ get, sau đó là
tên của thuộc tính cần đọc.
Hãy tạo getter cho các thuộc tính của chúng ta:
<?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;
}
}
?>
Hãy kiểm tra hoạt động của chúng. Tạo một đối tượng, truyền dữ liệu người dùng làm tham số:
<?php
$user = new User('john', 'smit');
?>
Đọc dữ liệu này bằng cách sử dụng getter:
<?php
var_dump($user->getName());
var_dump($user->getSurn());
?>
Trong lớp Employee, hãy tạo
ba thuộc tính private: tên, lương
và tuổi.
Truyền giá trị của các thuộc tính này làm tham số cho constructor.
Tạo các getter, hiển thị giá trị của từng thuộc tính của chúng ta.