Ominaisuuden nimi muuttujasta OOP:ssa PHP:ssä
Olioden ominaisuuksiin voidaan viitata
nimen perusteella muuttujasta. Katsotaan,
kuinka tämä voidaan tehdä. Oletetaan, että meillä on tällainen
luokka User:
<?php
class User
{
public $name;
public $surn;
public function __construct($name, $surn)
{
$this->name = $name;
$this->surn = $surn;
}
}
?>
Luodaan olio tästä luokasta:
<?php
$user = new User('john', 'smit');
?>
Tulostetaan sen ominaisuuden arvo:
<?php
echo $user->name; // tulostaa 'john'
?>
Oletetaan, että meillä on muuttuja, joka säilyttää ominaisuuden nimen:
<?php
$prop = 'name';
?>
Käytetään nyt muuttujan arvoa ominaisuuden nimenä :
<?php
$prop = 'name';
echo $user->$prop; // tulostaa 'john'
?>
Annettu seuraava luokka:
<?php
class Employee
{
public $name;
public $salary;
public function __construct($name, $salary)
{
$this->name = $name;
$this->salary = $salary;
}
}
?>
Annettu seuraavat muuttujat:
<?php
$prop1 = 'name';
$prop2 = 'salary';
?>
Luo olio luokasta Employee,
ja viittaa sen jälkeen sen ominaisuuksiin
annettujen muuttujien kautta.