我有这个特质
use Pimple\Container;
trait ContainerAwareTrait
{
protected $container;
public function setContainer(Container $container = null)
{
if (null !== $this->container) {
$this->container = $container;
}
}
public function getContainer()
{
return $this->container;
}
}
我有这个代码使用它(通过App
类)
$container = new Pimple\Container();
$app = new App($container); // uses ContainerAwareTrait, constructor calls `setContainer`
var_dump($app->getContainer(), $container);die;
我看到的是,第一个var_dump
结果是array
,第二个是Pimple\Container
的实例。
我期待他们两个都是同一个实例。有人能告诉我这里发生了什么吗?
答案 0 :(得分:0)
您的setter逻辑错误:您希望在this->container
未设置(null
)时设置,而不是在设置not null
时设置。{ / p>