Spuštění služby z config.ini v [development]

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

Pokud přidám do sekce [common] za service.Nette-Loaders-RobotLoader.run = TRUE kód

service.Namespace-Service.factory = \Namespace\ClassName
service.Namespace-Service.run = true

Je vše v pořádku. Pokud ale tento kód (na vytvoření „služby“) vložím do [development < common] vyskočí chyba, že třída ještě nebyla načtena, tzn. vytvoření služby je ještě před spuštěním robotloaderu.
Lze to řešit nějak lépe, než nacpat service.Nette-Loaders-RobotLoader.run = TRUE do sekce [development], [production] na začátak?

Aneb, mají být v configu volány služby nejprve dědící, nebo rodičovské sekce? (řádek který to má za vinu)

Nette 2 Alpha 2

David Grudl
Nette Core | 8170
+
0
-

Pořadí řádků by na to nemělo mít vliv. Pošli se celý config.ini

bojovyletoun
Člen | 667
+
0
-

https://forum.nette.org/…v-config-ini

factory má být metoda?

service.Namespace-Service.factory = \Namespace\ClassName::start()

Editoval bojovyletoun (1. 12. 2010 13:16)

Foowie
Člen | 269
+
0
-

@bojovyletoun Může, ale nemusí

@dg

[common]
; PHP configuration
php.date.timezone = "Europe/Prague"

; services
service.Nette-Loaders-RobotLoader.option.directory[] = %appDir%
service.Nette-Loaders-RobotLoader.option.directory[] = %libsDir%
service.Nette-Loaders-RobotLoader.run = TRUE

;service.xyz.factory = \DebugPanel\PresenterLinkPanel ; funguje
;service.xyz.run = true

[production < common]

[development < common]
service.xyz.factory = \DebugPanel\PresenterLinkPanel ; nefunguje
service.xyz.run = true

Celý projekt je ke stažení (v sandboxu). V debug baru je při vyhození výjimky seznam načtených tříd.

David Grudl
Nette Core | 8170
+
0
-

Aha, už tomu rozumím. Ale nevím, jak to řešit…

Patrik Votoček
Člen | 2221
+
0
-

Když nad tím tak přemýšlím tak stejně musíš pak v kódu zjišťovat jestli jsi v DEV módu a pouze v tom případě ho volat. Takže to moc nechápu…

bullshit teď mě to došlo…