Nome della proprietà da una funzione in OOP in PHP
Anche il nome della proprietà dell'oggetto può essere ottenuto da una funzione.
Vediamo come si fa.
Supponiamo di avere la seguente classe User:
<?php
class User
{
public $name;
public $surn;
public function __construct($name, $surn)
{
$this->name = $name;
$this->surn = $surn;
}
}
?>
Creiamo un oggetto di questa classe:
<?php
$user = new User('john', 'smit');
?>
Supponiamo di avere la seguente funzione:
<?php
function getProp()
{
return 'name';
}
?>
Accediamo alla proprietà dell'oggetto, il cui nome è restituito dalla nostra funzione:
<?php
echo $user->{getProp()}; // visualizzerà 'john'
?>
Data la seguente classe:
<?php
class Employee
{
public $name;
public $salary;
public $position;
public function __construct($name, $salary, $position)
{
$this->name = $name;
$this->salary = $salary;
$this->position = $position;
}
}
?>
Date le seguenti funzioni:
<?php
function getProp1()
{
return 'name';
}
function getProp2()
{
return 'salary';
}
?>
Create un oggetto della classe Employee,
quindi accedete alle sue proprietà
tramite i risultati dell'esecuzione delle funzioni.