Tên thuộc tính từ biến trong OOP PHP
Có thể truy cập vào các thuộc tính của đối tượng
bằng tên từ một biến. Hãy xem
cách thực hiện điều này. Giả sử chúng ta có lớp
User như sau:
<?php
class User
{
public $name;
public $surn;
public function __construct($name, $surn)
{
$this->name = $name;
$this->surn = $surn;
}
}
?>
Hãy tạo một đối tượng của lớp này:
<?php
$user = new User('john', 'smit');
?>
Hãy in ra giá trị thuộc tính của nó:
<?php
echo $user->name; // sẽ in ra 'john'
?>
Giả sử chúng ta có một biến lưu tên thuộc tính:
<?php
$prop = 'name';
?>
Bây giờ hãy sử dụng giá trị của biến làm tên thuộc tính:
<?php
$prop = 'name';
echo $user->$prop; // sẽ in ra 'john'
?>
Cho lớp sau:
<?php
class Employee
{
public $name;
public $salary;
public function __construct($name, $salary)
{
$this->name = $name;
$this->salary = $salary;
}
}
?>
Cho các biến sau:
<?php
$prop1 = 'name';
$prop2 = 'salary';
?>
Tạo một đối tượng của lớp Employee,
sau đó truy cập vào các thuộc tính của nó
thông qua các biến đã cho.