コード例 #1
0
 public function testMixedInstanceIdCreation()
 {
     Singleton::deleteInstance(self::SERVICE_CLASS, self::INSTANCE_ID);
     $paramOne = 'one';
     $paramTwo = 'two';
     /* @var $service DummyService */
     $service = ServiceManager::getServiceObject(self::SERVICE_CLASS, self::CONTEXT, self::LANGUAGE, [$paramOne, $paramTwo], APFService::SERVICE_TYPE_SINGLETON, self::INSTANCE_ID);
     $this->assertEquals(self::CONTEXT, $service->getContext());
     $this->assertEquals(self::LANGUAGE, $service->getLanguage());
     $this->assertEquals(APFService::SERVICE_TYPE_SINGLETON, $service->getServiceType());
     $this->assertEquals($paramOne, $service->getParamOne());
     $this->assertEquals($paramTwo, $service->getParamTwo());
     $service = ServiceManager::getServiceObject(self::SERVICE_CLASS, self::CONTEXT, self::LANGUAGE);
     $this->assertNotEquals($paramOne, $service->getParamOne());
     $this->assertNotEquals($paramTwo, $service->getParamTwo());
     /* @var $service DummyService */
     $service = ServiceManager::getServiceObject(self::SERVICE_CLASS, self::CONTEXT, self::LANGUAGE, [], APFService::SERVICE_TYPE_SINGLETON, self::INSTANCE_ID);
     $this->assertEquals($paramOne, $service->getParamOne());
     $this->assertEquals($paramTwo, $service->getParamTwo());
 }
コード例 #2
0
 public static function deleteInstance($class, $instanceId = null)
 {
     parent::deleteInstance($class, $instanceId);
     // remove from APC store to not restore instance after in subsequent request by accident
     apc_delete(self::getCacheKey($class, $instanceId));
 }
コード例 #3
0
ファイル: SingletonTest.php プロジェクト: GeneralCrime/code
 public function testInstanceWithIdDeletion()
 {
     /* @var $model TagModel */
     Singleton::getInstance(self::MODEL_CLASS, [self::TEST_TAG], self::INSTANCE_ID);
     $model = Singleton::getInstance(self::MODEL_CLASS, [], self::INSTANCE_ID);
     $this->assertNotNull($model->getTag());
     Singleton::deleteInstance(self::MODEL_CLASS, self::INSTANCE_ID);
     $model = Singleton::getInstance(self::MODEL_CLASS, [], self::INSTANCE_ID);
     $this->assertNull($model->getTag());
 }