Zoznam dostupnych služieb v kontainery

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

Ahojte,
Zaujimalo by ma ci je nejaka moznost ako ziskat zoznam sluzieb, ktore obsahuje kontainer.
Ide o toto: mam v konfigu nadefinovanu vlastnu extension povedzme form, nejako takto to vyzera

form:
	name:
		label: Name
		validators: [...]
		type: text
	url:
		label: URL
		validators: [...]
		type: url

A ak by som chcel automaticky generovat z takehoto konfigu formular, potreboval by som zoznam sluzieb, ktore patria pod ten prefix form. Lenze kedze konfig sa vygeneruje do SystemContainera neviem nijak zistit ake sluzby pod ten form patria. Samozrejme manualne to ide zavolat, ale dynamicky to zavolat neviem. Len pripomeniem ze jednotlive polozky samozrejme nie su iba pole, ale vracaju urcite specialne triedy prvkov formularu.

Momentalne ma napadlo jedine riesenie a to pozriet sa na SystemContainer cez reflexiu, ziskat nazvy vsetkych metod, ktore zacinaju createServiceForm__, vytiahnut z nazvu medoty ten zvysok a mam nazov polozky v konfigu.

Majkl578
Moderator | 1364
+
0
-

Tohle bys imho měl řešit ve vlastní CompilerExtension, udělat si třeba továrničky na ty formuláře.

wacco
Člen | 11
+
0
-

Ja to riesim vlastnym CompilerExtension, konkretne ten prefix form je CompilerExtension. A on ma obsahuje „sluzby/itemy“, ktore vracaju nejake specificke triedy. Lenze aj ked to mam v CompilerExtension neviem sa dopracovat ku zoznamu vsetkych itemov. Keby som robil tovarnicku, musel by som to nejako cez setup rucne nasetovat, ale to je vela manualnej prace.