Подтвердить что ты не робот

Как мы это называем?

Мне интересно, как мы называем это назначение.

<?php
class SimpleClass
{
    public $var1;
    public $var2;
    public $var3;

    public function SimpleClass()
    {
        $this->var1 = 'one';
        $this->var2 = 'two';
        $this->var3 = 'three';
    }
}

function test()
{
    $objSc = new SimpleClass();
    $objSc->var4 = 'WTF?!'; # <-- what do we call this?
    var_dump($objSc);
}

test();
?>

Лучше со ссылками или ссылками. Спасибо заранее!

EDIT: Я ищу технический термин для этого... ну, если у нас есть.

4b9b3361

Ответ 1

Я считаю, что это перегрузка.

Перегрузка в PHP предоставляет возможность динамически "создавать" свойства и методы. Эти динамические объекты обрабатываются с помощью магических методов, которые можно установить в классе для различных типов действий.

Методы перегрузки вызываются при взаимодействии со свойствами или методами, которые не были объявлены или не видны в текущей области.

Справочник PHP здесь.

Ответ 2

присваивает строку WTF?! переменной общедоступной области SimpleClass. Если вы var_dump, он правильно отображает вывод:

string(5) "WTF?!"

И как отметил @marcdev, он известен как перегрузка.

Ответ 3

Вы устанавливаете независимое свойство объекта $objSc.