Ime svojstva iz niza u OOP u PHP
Pogledajmo sada kako pristupiti
svojstvu objekta po imenu
iz elementa niza.
Neka imamo sledeću klasu User:
<?php
class User
{
public $name;
public $surn;
public function __construct($name, $surn)
{
$this->name = $name;
$this->surn = $surn;
}
}
?>
Kreirajmo objekat ove klase:
<?php
$user = new User('john', 'smit');
?>
Neka je dat niz svojstava:
<?php
$props = ['name', 'surn'];
?>
Pokušajmo sada da ispišemo vrednost svojstva, koje je sačuvano u nultom elementu niza:
<?php
echo $user->$props[0]; // ovako neće raditi
?>
Da bi tako složeno ime svojstva radilo, potrebno ga je staviti u vitičaste zagrade, ovako:
<?php
echo $user->{$props[0]}; // ispisaće 'john'
?>
Data je sledeća klasa:
<?php
class Employee
{
public $name;
public $salary;
public $position;
public function __construct($name, $salary, $position)
{
$this->name = $name;
$this->salary = $salary;
$this->position = $position;
}
}
?>
Dat je niz:
<?php
$arr = ['name', 'salary', 'position'];
?>
Kreirajte objekat klase Employee,
a zatim pristupite njegovim svojstvima
preko elemenata niza.