Esempio n. 1
0
 /**
  * Salvages the state of any salvageable service instances in $other.
  *
  * @note $other will have been destroyed when salvage() returns.
  *
  * @param MediaWikiServices $other
  */
 private function salvage(self $other)
 {
     foreach ($this->getServiceNames() as $name) {
         // The service could be new in the new instance and not registered in the
         // other instance (e.g. an extension that was loaded after the instantiation of
         // the other instance. Skip this service in this case. See T143974
         try {
             $oldService = $other->peekService($name);
         } catch (NoSuchServiceException $e) {
             continue;
         }
         if ($oldService instanceof SalvageableService) {
             /** @var SalvageableService $newService */
             $newService = $this->getService($name);
             $newService->salvage($oldService);
         }
     }
     $other->destroy();
 }
Esempio n. 2
0
 /**
  * Salvages the state of any salvageable service instances in $other.
  *
  * @note $other will have been destroyed when salvage() returns.
  *
  * @param MediaWikiServices $other
  */
 private function salvage(self $other)
 {
     foreach ($this->getServiceNames() as $name) {
         $oldService = $other->peekService($name);
         if ($oldService instanceof SalvageableService) {
             /** @var SalvageableService $newService */
             $newService = $this->getService($name);
             $newService->salvage($oldService);
         }
     }
     $other->destroy();
 }