Ako automaticky zaregistrovať triedy do DIC

před 10 měsíci od Rick Strafy     edit

Veľa z vás to možno nevedelo, no Nette 3 má zabudované rozšírenie na automatické registrovanie tried do DI kontajnera. Takéto rozšírenie dokáže ušetriť písanie stovky riadkov kódu v neon súboroch kde registrujete triedy s veľmi podobnými menami (<Niečo>Factory, <Niečo>Repository a tak ďalej).

Povedzme, že máte zložku /app/Model kde je všetka vaša výpočtová business logika aplikácie, skoro každá trieda je služba (možno okrem entít a data tried). Vačšina vaších služieb je pomenovaná ako ArticleRepository, UserRepository, ArticleFactory, ArticleFacade, mohli ste si všimnúť, že všetky vaše služby končia s Repository, Facade a Factory a stále ich registrujete po jednom v neon súboroch.

Táto jednoduchá konfigurácia v neon súbore vám dokáže ušetriť čas a nervy, potom už budete potrebovať registrovať len služby ktoré vyžadujú predávanie parametrov (google/facebook oauth knižnice, recaptcha…).

search:
	section:
		in: %appDir%/Model
		classes:
			- *Facade
			- *Factory
			- *Repository

Všetky možnosti nastavenia tohto rozšírenia (ignorovanie tried, registrovanie iba tried ktoré implementujú/dedia iné triedy a podobne) sú k dispozícií v dokumentácií.