Změna již existující služby, dědičnost služeb

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Tomáš Kabíček
Člen | 14
+
0
-

Zdravím všechny,

chtěl bych poradit s problémem, který se mi vyskytl při tvorbě composer balíčků. V composer balíčku mám neon, kde mám nadefinovanou službu:

services:
	texthistory: AdminModule\Texthistory

Když ale potřebuju tuto službu podědit, musím to udělat v aplikaci, která composer balíček používá. Ideálně tedy, kdybych dokázal ve druhém konfiguračním souboru přepsat službu na následující:

services:
	texthistory: AdminModule\MyTexthistory

Jedná se tedy o dědičnost služeb, kterou se mi nepodařilo rozchodit, nette to zřejmě nepodporuje

Prosím o radu, jestli můj problém půjde nějakým hezkým způsobem vyřešit. Děkuji!!

Editoval Tomáš Kabíček (28. 8. 2017 13:59)

David Matějka
Moderator | 6445
+
0
-

ten kod, co si psal, by mel fungovat. co to hlasi za chybu?

Tomáš Kabíček
Člen | 14
+
0
-

Ahaa, tak už jsem přišel na to, proč mi to nefungovalo. Tady do příkladu jsem pro jednoduchost zatajil to, že ty služby jsou vlastně interface. Zjistil jsem, že když nebudu službu načítat přes interface, ale třída AdminModule\Texthistory bude klasická třída a v továrničce komponenty texthistory zmizím volání metody create(), tak dědění služeb funguje.
Nemělo by ničemu vadit, když interfacy takto vynechám?