Όνομα ιδιότητας από associative array στην αντικειμενοστραφή προγραμματισμό στην PHP
Ας δούμε τώρα πώς να απευθυνθούμε
σε μια ιδιότητα ενός αντικειμένου με βάση το όνομα
από ένα στοιχείο associative array.
Ας υποθέσουμε ότι έχουμε την ακόλουθη κλάση User:
<?php
class User
{
public $name;
public $surn;
public function __construct($name, $surn)
{
$this->name = $name;
$this->surn = $surn;
}
}
?>
Ας δημιουργήσουμε ένα αντικείμενο αυτής της κλάσης:
<?php
$user = new User('john', 'smit');
?>
Ας υποθέσουμε ότι δίνεται ένας πίνακας ιδιοτήτων:
<?php
$props = ['prop1' => 'name', 'prop2' => 'surn'];
?>
Ας απευθυνθούμε στην ιδιότητα του αντικειμένου, το όνομα της οποίας αποθηκεύεται στο στοιχείο του πίνακα μας:
<?php
echo $user->{$props['prop1']}; // θα εμφανίσει 'john'
?>
Δίνεται η ακόλουθη κλάση:
<?php
class Employee
{
public $name;
public $salary;
public $position;
public function __construct($name, $salary, $position)
{
$this->name = $name;
$this->salary = $salary;
$this->position = $position;
}
}
?>
Δίνεται ο πίνακας:
<?php
$arr = [
'prop1' => 'name',
'prop2' => 'salary',
'prop3' => 'position'
];
?>
Δημιουργήστε ένα αντικείμενο της κλάσης Employee,
και στη συνέχεια απευθυνθείτε στις ιδιότητές του
μέσω των στοιχείων του πίνακα.