2012-12-22 27 views
2

我有一類具有多個數值和功能 (對於某種計數類別等)操作者超馳等在PHP類.NET

class mBasicClass 
{ 
    public $typ01Value = 0; 
    public $typ02Value = 0; 
} 

我也有一些其他類這實際上的組這些類

class mClass 
{ 
    public $vjA = new mBasicClass(); 
    public $ntB = new mBasicClass(); 
    public $ntC = new mBasicClass(); 
    public $ntD = new mBasicClass(); 
} 

所有我想知道 - 有沒有辦法寫操作符重載像PHP類.NET

,這樣我可以使用

$vjA + $ntB 

這實際上是

$vjA->$typ01Value + $ntB ->$typ01Value 
$vjA->$typ02Value + $ntB ->$typ02Value 

回答

4

爲PHP對象運算符重載的要求已經是公開的門票自2001年以來:

https://bugs.php.net/bug.php?id=9331

所以,不幸的是你不能做你的要求:(

相反,你會hav E要創建這樣一個addObjects($obj1, $obj2)功能和自己做的手工計算:

addObjects($obj1, $obj2) 
{ 
    $new_obj = new mBasicClass(); 
    $new_obj->typ01Value = $obj1->typ01Value + $obj2->typ01Value; 
    $new_obj->typ02Value = $obj1->typ02Value + $obj2->typ02Value; 

    return $new_obj; 
} 

然後使用它:

$result = addOjbects($vjA, $ntB); 
+0

感謝斯文,希望PHP將很快提供這樣對待我們。 –