2010-05-27 4 views
10

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

<?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: Я ищу технический термин для этого ... ну, если у нас есть.

ответ

10

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

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

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

PHP Ссылка на руководство пользователя here.

+2

Звонок для установки свойства 'var4' объекта' $ objSc' проходит через магический метод __set(), который вы также можете настроить для других вещей. –

+0

+1 для цитирования руководства. – Mizipzor

1

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

2

Это назначаястрокаWTF?! к публичной переменной сферу охвата SimpleClass. Если вы var_dump, он показывает вывод правильно, как:

string(5) "WTF?!" 

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

Смежные вопросы