2011-08-29 110 views
-2

我有一類叫做類型:返回屬性的對象?

class Type { ... } 

其中有一個名爲$value屬性:

class Type { 
    protected $value; 

    //More code here... 
} 

我希望,當我嘗試使用功能,當我通過對象的價值$obj->value將會通過。例如:

$obj = new Type("value"); 
echo $obj; //Desired output: value 

我試過很多東西,到處搜尋,但我似乎無法找到這一個。它甚至有可能嗎?

在此先感謝。 :)

編輯:也許你誤解了我的問題(或縮小了一下)。我想爲所有的值類型,而不僅僅是那些字符串,包括intfloatboolean

$obj = new Type(true); 
echo !$obj; //Desired output: false 

$obj2 = new Type(9); 
echo ($obj + 1); //Desired output: 10 
+0

嘗試使用__toString()魔術方法:) –

+0

你會使用什麼樣的函數?對於每一個連接到文本,你總是可以使用魔術方法toString。 – Raveline

回答

4

參見:Magic Methods

class Type { 
    public function __toString() { 
    return (string)$this->value; 
    } 
} 

如果你的對象的使用將不會觸發魔術你可以使用:

$someVar = (string)$obj; 

更新

除了字符串或數組(見ArrayAccess interface),它是,此刻,不可能有PHP處理對象,如預定義的data types

+0

幾乎在那裏,但我希望它適用於所有類型,(否則該類將被稱爲'字符串'現在它會嗎?:P)我編輯了我的問題來澄清。 –

+0

@Rikudo Sennin如果你看一下上面的鏈接,你會發現你現在想用php實現的目標是不可能實現的。 – Yoshi

+0

請將其添加到答案中,我將接受它爲正確:)謝謝。 –

相關問題