返回属性的对象?
我有一类叫做类型:返回属性的对象?
class Type { ... }
其中有一个名为$value
属性:
class Type {
protected $value;
//More code here...
}
我希望,当我尝试使用功能,当我通过对象的价值$obj->value
将会通过。例如:
$obj = new Type("value");
echo $obj; //Desired output: value
我试过很多东西,到处搜寻,但我似乎无法找到这一个。它甚至有可能吗?
在此先感谢。 :)
编辑:也许你误解了我的问题(或缩小了一下)。我想为所有的值类型,而不仅仅是那些字符串,包括int
float
和boolean
$obj = new Type(true);
echo !$obj; //Desired output: false
$obj2 = new Type(9);
echo ($obj + 1); //Desired output: 10
class Type {
public function __toString() {
return (string)$this->value;
}
}
如果你的对象的使用将不会触发魔术你可以使用:
$someVar = (string)$obj;
更新:
除了字符串或数组(见ArrayAccess interface),它是,此刻,不可能有PHP处理对象,如预定义的data types。
几乎在那里,但我希望它适用于所有类型,(否则该类将被称为'字符串'现在它会吗?:P)我编辑了我的问题来澄清。 –
@Rikudo Sennin如果你看一下上面的链接,你会发现你现在想用php实现的目标是不可能实现的。 – Yoshi
请将其添加到答案中,我将接受它为正确:)谢谢。 –
尝试使用__toString()魔术方法:) –
你会使用什么样的函数?对于每一个连接到文本,你总是可以使用魔术方法toString。 – Raveline