Divné chování $configurator->setTempDirectory() (wtf)

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

Ahoj, tohle je trochu okrajové, ale mám pocit, že v případě, že nechci vytvářet dočasný adresář, tak je chování uvedené metody divné.

\Nette\Diagnostics\Debugger::enable(false, false);
$a = new Nette\Config\Configurator;
$a->setTempDirectory(''); //(*) -
$cont = $a->createContainer();
exit;
  • Když uvedený řádek nezavolám, vyskočí na mě chyba

    "Nette\DI\ServiceCreationException Service 'cacheStorage': Missing item 'tempDir'"

  • Jediná možnost je zavolat s prázdným řetězcem
  • Pro doplnění: zavolat metodu s false nebo Null taky nejde (chyba: Unable to concatenate non-scalar parameter 'tempDir' into '%tempDir%/cache)

Samozřejmě moje představa je, že bez zavolání se doč. adresář nebude vytvářet, se zavoláním emptystringu ('') se bude chovat jako se zavoláním tečky ('.')(což funguje i teď),akorát nemám ideu, jak to upravit.

Pozn.: exit; jsem tam přidal, aby bylo vidět, že službu nespouštím, chyby vybublá z generateClass

Editoval bojovyletoun (19. 6. 2012 21:33)

Honza Marek
Člen | 1664
+
0
-

Neni to spíš divné použití než divné chování? Nette prostě temp adresář potřebuje.