Jak zaregistrovat službu v config.ini
- joseff
- Člen | 233
Zdravim, napsal jsem si jednoduchy prekladac implementujici rozhrani ITranslatro, ale neni mi jasne jak presne ho zaregistrovat do config.ini. Nenasel jsem k tomu zadnou dokumentaci, pokud se pletu prosim opravte me. Vsiml jsem si ze se to zapisuje nejak takto:
service.Nette-ITranslatro.factory = ...
ale nechapu slovo factory zda tam musi byt a jaky ma vyznam. Napriklad u autentizace je zase:
service.Nette-Security-IAuthenticator = UsersModel
Tam zase factory neni?
Dale za rovnitkem je asi cesta k objektu?
Pak jsem nasel zde ve foru napriklad toto:
service.Nette-ITranslator.factory = "NetteTranslator\\Gettext::getTranslator"
service.Nette-ITranslator.run = TRUE
NetteTranslator\\Gettext::getTranslator je divna cesta ne? Nebo nevim co delaji dve spetna lomitka za sebou… budu moc rad kdyz mi to nekdo objasni… Dekuji
- Aurielle
- Člen | 1281
- Rozhraní se jmenuje ITranslator
- Factory neboli továrnička znamená, že danou službu může klidně vytvářet statická metoda jiné třídy. Pokud neuvedeš factory ale jen název třídy, pokusí se ji Nette při prvním použití vytvořit.
- Run znamená vytvoření třídy ihned po načtení konfiguračního souboru.
- To druhé lomítko je tam nejspíš kvůli escapování, nicméně mi to funguje i bez něj.
- h4kuna
- Backer | 740
posané nevím jestli to někde je ale každopádně jakmile tam je $value->xxx takové jsou možnosti:
- singleton → předpokládám
- option → asi nastavení pro servisu
popsané výše
- run
- factory
Editoval matata (29. 1. 2011 0:14)
- Patrik Votoček
- Člen | 2221
- singleton (snad nemusím blíže popisovat)
- option (pole hodnot předané konstruktoru / továrničce)