此问题来自以下链接 http://php.net/manual/en/language.oop5.basic.php
具体来说,示例#5创建新对象
$obj1 = new Test();
$obj2 = new $obj1;
var_dump($obj1 !== $obj2); //bool(true)
我无法弄清楚当new
显然只是时,使用$obj1
上的$obj2
运算符来创建$obj1
是合理的或合乎逻辑的对象,而不是类?
我一直试图找到关于这个主题的参考,但找不到一个。
由于
答案 0 :(得分:1)
我不知道为什么他们添加了使用类的实例创建新对象的可能性,但在这种情况下,实例用作类。你甚至可以传递构造函数参数。试试这段代码:
class Waat {
public $message;
public function __construct($message )
{
$this->message = $message;
}
}
$w1 = new Waat('hello');
$w2 = new $w1('world');
echo $w1->message . ' ' . $w2->message;
输出:
hello world