【发布时间】:2015-08-15 14:19:12
【问题描述】:
我需要与return 类似但“指向内部”的东西。假设我有课:
class A {
[...]
public function say_hello() {
return 'Hello';
}
}
有什么方法可以将返回值用于对象变量本身,例如:
而不是
$object = new A;
$object = $object->say_hello(); // $object has value 'Hello'
简单
$object = new A;
$object->say_hello(); // $object has value 'Hello'
我希望它是可以理解的。
感谢您的帮助!
编辑:
我想在需要调用一个类的情况下使用它,例如:
class A {
[...]
public function call class B() {
return new B();
}
}
最终保存在 B 类(C、D 等)的变量对象中,而不是 A。
【问题讨论】:
-
你想做什么?
-
第一种方法
$object = $object->say_hell();会覆盖之前的$object,使其成为Hello的字符串,而第二种方法-$object->say_hello();将返回Hello字符串,但不会被赋值对任何事情......所以正如 Riz 所说,你想做什么? -
我希望最后一个代码块中的情况将变量 $object 更改为“自动”成为它的返回值(无需像
$object = $object->say_hello();那样重写) -
@Gomi 真的不知道你为什么要这样做,只是通过引用传递它自己的对象:
class A { public function say_hello(&$object) { $object = 'Hello'; } } $o = new A; $o->say_hello($o); var_dump($o);