DI inject – problém závislostí s děděnými třídami
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.

- darthcz
 - Člen | 113
 
Zdravím,
mám problém s injektováním závislosti, která je ve vztahu IS-A k nějaké jiné závislosti.
Mám v configu:
imageFacade: MTS\App\Models\Facades\ImageFacade
adImageFacade: MTS\App\FrontModule\AdModule\Models\Facades\AdImageFacade
Problém je, že pokud v presenteru mám kód uvedený níže, tak dostanu chybu Multiple services of type MTS\App\Models\Facades\ImageFacade found.
Dá se to nějak obejít? Nechci aby mi prošel potomek, když chci předka.
	/** @var \MTS\App\Models\Facades\ImageFacade ImageFacade */
	private $imageFacade;
	/**
	 * Method to inject a dependency.
	 *
	 * @param \MTS\App\Models\Facades\ImageFacade $imageFacade
	 *
	 * @throws InvalidStateException
	 * @return void
	 */
	public function injectImageFacade(\MTS\App\Models\Facades\ImageFacade $imageFacade)
	{
		try {
			if ($this->imageFacade !== NULL)
				throw new InvalidStateException('ImageFacade has already been set.');
			$this->imageFacade = $imageFacade;
		} catch (\Exception $e) {
			$this->processException($e);
		}
	}