objectManager = $objectManager; $this->notifiers = $notifiers; $this->isNotifiersVerified = false; } /** * Returning list of notifiers. * * @return NotifierInterface[] * @throws \InvalidArgumentException */ public function asArray() { if (!$this->isNotifiersVerified) { $hasErrors = false; foreach ($this->notifiers as $classIndex => $class) { $notifier = $this->objectManager->get($class); if ($notifier instanceof NotifierInterface) { $this->notifiers[$classIndex] = $notifier; } else { $hasErrors = true; unset($this->notifiers[$classIndex]); } } $this->isNotifiersVerified = true; if ($hasErrors) { throw new \InvalidArgumentException('All notifiers should implements NotifierInterface'); } } return $this->notifiers; } }