získání parametrů definovaných v Bootstrap
- Elvis77
- Člen | 4
Jak se v presenteru dostanu k parametrům definovaným v configurátoru v Bootstrap.php (rootDir, appDir, wwwDir)?
Ukázka mého Bootstrap.php:
<?php
declare(strict_types=1);
namespace App;
use Nette\Configurator;
class Bootstrap
{
public static function boot(): Configurator
{
$configurator = new Configurator;
$configurator->setDebugMode(true); // enable for your remote IP
$configurator->enableTracy(__DIR__ . '/../log');
$configurator->setTimeZone('Europe/Prague');
$configurator->setTempDirectory(__DIR__ . '/../temp');
$configurator->createRobotLoader()
->addDirectory(__DIR__)
->register();
$configurator->addConfig(__DIR__ . '/config/config.neon');
$configurator->addConfig(__DIR__ . '/config/config.local.neon');
$configurator->addParameters([
'rootDir' => realpath(__DIR__ . '/..'),
'appDir' => __DIR__,
'wwwDir' => realpath(__DIR__ . '/../www'),
]);
return $configurator;
}
}
Děkuji za všechny odpovědi.
- Marek Bartoš
- Nette Blogger | 1274
Jedná se o parametry DI kontejneru. Špatná cesta je
$this->getContext()->getParameters()
, správná zaregistrovat
si presenter do služeb a předat parametr ideálně přes
konstruktor - Foo\Bar\Presenter(%parameterName%)