2015-05-17 1 views
0

У меня есть эта чертаПрыщ всегда возвращается как массив

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

Ваш сеттер логика не так: вы хотите установить this->container, когда он не был установлен (это null), не тогда, когда он уже установлен (это not null).

Смежные вопросы