Nombre de propiedad desde una función en POO en PHP
El nombre de la propiedad del objeto también se puede obtener desde una función.
Veamos cómo se hace.
Supongamos que tenemos la siguiente clase User:
<?php
class User
{
public $name;
public $surn;
public function __construct($name, $surn)
{
$this->name = $name;
$this->surn = $surn;
}
}
?>
Creemos un objeto de esta clase:
<?php
$user = new User('john', 'smit');
?>
Supongamos que tenemos la siguiente función:
<?php
function getProp()
{
return 'name';
}
?>
Accedamos a la propiedad del objeto, cuyo nombre devuelve nuestra función:
<?php
echo $user->{getProp()}; // mostrará 'john'
?>
Se da la siguiente clase:
<?php
class Employee
{
public $name;
public $salary;
public $position;
public function __construct($name, $salary, $position)
{
$this->name = $name;
$this->salary = $salary;
$this->position = $position;
}
}
?>
Se dan las siguientes funciones:
<?php
function getProp1()
{
return 'name';
}
function getProp2()
{
return 'salary';
}
?>
Cree un objeto de la clase Employee,
y luego acceda a sus propiedades
a través de los resultados de ejecutar las funciones.