我有这样的特点
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的实例。
我以为他们俩是同一个例子。有人能告诉我这是怎么回事吗?
发布于 2015-05-17 15:01:25
您的setter逻辑是错误的:您希望在尚未设置this->container (is null)时设置它,而不是在它已经设置时设置它(is not null)。
https://stackoverflow.com/questions/30287980
复制相似问题