service.Nette-Web-IUser nelze nastavit v config.ini

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

Zdravím,

zdá se mi to, nebo service.Nette-Web-IUser = něco v config.ini prostě nefunguje? Chtěl bych udělat něco jako:

<?php
[console < common]
service.Nette-Web-IUser = Javorek\Console\ConsoleUser
?>

…ale nikdy se to nechytne, zkoušel jsem 20 různých kombinací uvozovek a lomítek. Pomůže až:

<?php
if (Environment::isConsole()) {
	$context = Environment::getContext();
	$context->removeService('Nette\Web\IUser');
	$context->addService('Nette\Web\IUser', 'Javorek\Console\ConsoleUser');
}
?>

v bootstrapu. Pokud to opravdu nefunguje a je to tak dobře, tak 1) proč? 2) není to nekonzistentní chování?

UPDATE: Podle všeho se to často radí na fóru, ale zjevně to nefunguje nejen mě, takže buď se to radí bez jakéhokoliv ověření funkčnosti, nebo jsem už osel.

Editoval littlemaple (19. 2. 2011 10:53)

Petr Motejlek
Člen | 293
+
0
-

To je hodně zrádné ;). Teď nemám čas to vyzkoušet, ale když jsem letmo nahlédl do zdrojáků, tak nevidím důvod, proč by se ten tvůj ConsoleUser neměl použít :(.

Zodpovědné třídy jsou Nette\Configurator a Nette\Environment – můžeš se podívat do nich, případně si přidat nějaké dumpy, ať vidíš, co se děje.