public function test__add_register_boot_ServiceProviders() { $this->assertFalse($this->di->has('test_provider'), 'test_provider must not exist.'); $this->sm->add(TestServiceProvider::class, TRUE); $this->assertTrue($this->di->has(TestServiceProvider::class), 'TestServiceProvider::class must exist in the DI.'); $this->sm->registerServiceProviders(); $this->assertTrue($this->di->has('test_provider'), 'test_provider must exist.'); $this->assertEquals($this->di['test_provider'], 'I am a test provider.', 'test_provider must return a predetermined string.'); $this->sm->bootAll(); $this->assertEquals($this->di['test_provider'], 'I am a modified test provider.', 'test_provider must return a modified string.'); }
/** * Uses the container to resolve arguments * * @param array $args * * @return array */ function resolveArguments(array $args) { $resolved = []; foreach ($args as $arg) { $resolved[] = is_string($arg) && ($this->di->has($arg) || $this->di->isSingleton($arg) || class_exists($arg)) ? $this->di->get($arg) : $arg; } return $resolved; }