Я чето не догоняю, в чем подвох?
Ну вот, запустил:
public function testObjectInvariance()
{
$container = new \ABCDIC\Container;
$container->lazyLoad(false);
$container->add([
ExampleA::class => ExampleA::class,
ExampleB::class => ExampleA::class,
]);
$before = $container->get(ExampleA::class);
$after = $container->get(ExampleB::class);
$this->assertEquals($before, $after);
$before->exampleA = false;
$after = $container->get(ExampleB::class);
$this->assertEquals($before, $after);
}
Ничего не поменял, вопросики только выкинул суррогатные. И ленивую загрузку отключил ради теста, его же нужно в первозданном виде было запустить..
Я вообще не понимаю, что это за хрень такая, использовать имена классов как имена сервисов. Чем вот это
$after = $container->get(ExampleB::class);
отличается от этого:
$after =new ExampleB;
???
Где инверсия, тем паче ты это все в сервислокатор пихаешь? Мало того, что по всей карте искать, что не кисло я тебе скажу, если структуры не знаешь. Так еще в прогоне искать и править. В чем фишка то?
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.