public function testShouldSupportVariableSourceOfParameters() { $c = new Container(); $c->add(ITestDatabase::class, BookDatabase::class, 'class'); $c->add('connectionString', 'string', gettype('string')); $objTemp = $c->make(Library::class); $this->assertInstanceOf(Library::class, $objTemp); $this->assertInstanceOf(BookDatabase::class, $objTemp->getDatabase()); $this->assertEquals('string', $objTemp->getDatabase()->connectionString); }