Jak volat druhou metdy v neonu?

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

Zdravím, zajímalo by mě zda llze volat metoda v neonu, zjistil jsem že jde toto:

myControl:
			class: MyControl
			arguments: [@database::table(colum)]

ale když zavolm další metodu za to, tak už to neprjde:

myControl:
			class: MyControl
			arguments: [@database::table(colum)::count()]

Vyvola vyjimku:
Nette\Utils\NeonException

Unexpected ‚::count‘ on line 76, column 43

Poradí někod ja to vyřešit (v neonu).

ViPEr*CZ*
Člen | 817
+
0
-
Filip Procházka
Moderator | 4668
+
0
-

@**joseff**: osobně si myslím, že je dobře, že to neprojde. To už totiž prakticky nekonfiguruješ, ale programuješ v configu. To ti přijde v pořádku?

Tomáš Votruba
Moderator | 1114
+
0
-

@**hosiplan:** Já myslel, že ani jedna metoda volat nejde, protože i to my přišlo jako programování v configu (a proto nepodporované). Když už, tak už. 1 metoda programování není, ale 2 už ano. Nicméně spíš jde o konvenci, kdy se předpokládá, že v třídě neexistuje fluent interface a vše potřebné lze zavolat na jeden krok (od toho metody jsou, že).

@**joseff**: Možná na to půjde napsat fork, pokud ti to za to pohodlí stojí. Zkus kouknout na zpracování configu. Byl by to jistě luxus pracovat opravdu jen s tím, co je potřeba.

Filip Procházka
Moderator | 4668
+
0
-

@**Schmutzka**: máš spoustu případů, kdy se to hodí. Viz NBD ->table(), viz Doctrinní EntityManager::getRepository(), … :)