2010-05-27 135 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(); 
?> 

更好地引用或鏈接。提前致謝!

編輯:我在尋找一個技術術語,它......嗯,如果我們有。

回答

10

我相信這是超載。

PHP中的重載提供了動態「創建」屬性和方法的方法。這些動態實體通過魔術方法進行處理,可以在類中爲各種動作類型建立。

的重載方法與尚未聲明或不在當前範圍內可見的屬性或方法進行交互時被調用。

PHP手冊參考here

+2

設置'$ objSc'對象的'var4'屬性的呼叫通過__set()魔術方法,它可以設置自己做其他事情太無二。 – 2010-05-27 08:17:09

+0

+1用於引用手冊。 – Mizipzor 2010-05-27 08:19:31

1

您設置$objSc對象的自主產權。

2

它是分配WTF?!到的SimpleClass公開範圍可變。如果你var_dump它,它正確地作爲顯示輸出:

string(5) "WTF?!" 

而作爲@marcdev指出,它被稱爲超載

相關問題