/** * Test shared and non-shared services * * @param string $serviceName * @dataProvider serviceDefinitionsTestProvider */ public function testSharedNonShared($serviceName, $definition, $className) { // services were set in testServiceDefinitions() $serviceName .= 'a'; // test that two instances of a shared service are identical self::$di->getService($serviceName)->setShared(true); $s1a = self::$di->get($serviceName); $s1b = self::$di->get($serviceName); $this->assertTrue($s1a === $s1b); // test that two instances of a non-shared service are different self::$di->getService($serviceName)->setShared(false); $s2a = self::$di->get($serviceName); $s2b = self::$di->get($serviceName); $this->assertTrue($s2a !== $s2b); }
<?php $di = \Fw\DI::getInstance(); $di->set('request', '\\Fw\\Http\\Request', true); $di->set('response', '\\Fw\\Http\\Response', true); switch (BUILD_LIST_ADAPTER) { case 'File': $di->set('buildList', function () { return new \Cm\Download\Api\BuildList\File(BUILD_LIST_FILE); }); break; case 'Folder': $di->set('buildList', function () { return new \Cm\Download\Api\BuildList\Folder(DOWNLOAD_ROOT, DOWNLOAD_BASE_URL); }); break; default: /** @var \Fw\Http\Response $response */ $response = $di->get('response'); $response->setup(500, \Fw\Http::CONTENT_TYPE_TEXT, '')->send(); }
/** * User constructor */ public function __construct() { $this->di = DI::getInstance(); }