<?php
class Foo{
public $basket;
public function __construct()
{
$this->basket = 1;
}
public function getBasket(){
return $this->basket;
}
}
class Bar{
public function __construct(&$basket)
{
$basket++;
}
}
$newFoo = new Foo();
$newBar = new Bar($newFoo->getBasket());
echo $newFoo->getBasket();
?>
我希望初始化一个类中的$basket
值,并通过另一个类操作相同的变量。不幸的是,我不断收到“注意:只有变量应该通过引用传递”的错误信息。跨两个不同的类别引用相同的变量
问题:如何更改代码以实现此目的?谢谢。
我不会做这样的事情可以修改购物篮内容,这是不容易保持具有独特的篮子参考。我会有一个名为Basket的单独的类。现在,给Foo和Bar提供篮子的相同实例,并且可以根据需要添加它 - 但访问是受控的。 [演示在eval.in](https://eval.in/619687)。而且更容易测试,调试和添加新功能。 –
嗨瑞安。好点,我喜欢你在那里做的。我正在致力于一个MVC在线购物平台。这个问题的目的是弄清楚如何在PHP的不同页面之间共享对象(订单的模型表示)。这是一个单独的问题,我可能会在近期提出。 – taylorswiftfan
[清晰演示为eval.in](https://eval.in/619689) - 整理回声。 –