Όνομα ιδιότητας από πίνακα στο ΑΟΠ στην PHP
Ας δούμε τώρα πώς να απευθυνθούμε
σε μια ιδιότητα αντικειμένου με βάση το όνομα
από ένα στοιχείο πίνακα.
Ας υποθέσουμε ότι έχουμε την ακόλουθη κλάση 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 = ['name', 'surn'];
?>
Ας προσπαθήσουμε τώρα να εμφανίσουμε την τιμή της ιδιότητας, που αποθηκεύεται στο μηδενικό στοιχείο του πίνακα:
<?php
echo $user->$props[0]; // έτσι δεν θα λειτουργήσει
?>
Για να λειτουργήσει ένα τόσο σύνθετο όνομα ιδιότητας, πρέπει να το περικλείσουμε σε αγκύλες, έτσι:
<?php
echo $user->{$props[0]}; // θα εμφανίσει '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 = ['name', 'salary', 'position'];
?>
Δημιουργήστε ένα αντικείμενο της κλάσης Employee,
και στη συνέχεια απευθυνθείτε στις ιδιότητές του
μέσω των στοιχείων του πίνακα.