getter setter — магический метод PHP __set

Я только что наткнулся на этот кусок кода, но я не могу понять, что означает тело:

public function __set($propName, $propValue)
{
$this->{$propName} = $propValue;
}

что значит $this->{$propName} делать?

0

Решение

$this->{$propName} обращается к свойству с именем $ propName. Если $propName === 'name' затем $this->{$propName} такой же как $this->name,

Больше информации здесь: http://php.net/manual/en/language.variables.variable.php

2

Другие решения

Фигурные скобки приводят к интерполяции переменной между ними. Это может быть полезно в разных местах, но в этом конкретном месте он эффективно делает это:

// if $propName = 'mike';
$this->{$propName} = 'X';
// Results in:
$this->mike = 'X';

// if $propName = 'cart';
$this->{$propName} = 'full';
// Results in:
$this->cart = 'full';

// if $propName = 'version';
$this->{$propName} = 3;
// Results in:
$this->version = 3;
1

По вопросам рекламы [email protected]