Tên thuộc tính từ hàm trong OOP PHP
Tên thuộc tính của đối tượng cũng có thể lấy từ một hàm.
Hãy xem cách thực hiện điều này.
Giả sử chúng ta có lớp User 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');
?>
Giả sử chúng ta có hàm sau:
<?php
function getProp()
{
return 'name';
}
?>
Hãy truy cập vào thuộc tính của đối tượng, mà tên của nó được trả về bởi hàm của chúng ta:
<?php
echo $user->{getProp()}; // sẽ hiển thị 'john'
?>
Cho lớp sau:
<?php
class Employee
{
public $name;
public $salary;
public $position;
public function __construct($name, $salary, $position)
{
$this->name = $name;
$this->salary = $salary;
$this->position = $position;
}
}
?>
Cho các hàm sau:
<?php
function getProp1()
{
return 'name';
}
function getProp2()
{
return 'salary';
}
?>
Hãy 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 kết quả thực thi của các hàm.