From 32f39373a16864dfad75fd666fd309c97621c0b4 Mon Sep 17 00:00:00 2001 From: David Grudl Date: Tue, 15 Oct 2024 01:45:47 +0200 Subject: [PATCH] Bootstrap: new API --- app/Bootstrap.php | 39 +++++++++++++++++++++++++++++---------- www/index.php | 4 ++-- 2 files changed, 31 insertions(+), 12 deletions(-) diff --git a/app/Bootstrap.php b/app/Bootstrap.php index 8c0e74c1..17244989 100644 --- a/app/Bootstrap.php +++ b/app/Bootstrap.php @@ -4,28 +4,47 @@ namespace App; +use Nette; use Nette\Bootstrap\Configurator; class Bootstrap { - public static function boot(): Configurator + private Configurator $configurator; + private string $rootDir; + + + public function __construct() + { + $this->rootDir = dirname(__DIR__); + $this->configurator = new Configurator; + $this->configurator->setTempDirectory($this->rootDir . '/temp'); + } + + + public function bootWebApplication(): Nette\DI\Container { - $configurator = new Configurator; - $rootDir = dirname(__DIR__); + $this->initializeEnvironment(); + $this->setupContainer(); + return $this->configurator->createContainer(); + } - //$configurator->setDebugMode('secret@23.75.345.200'); // enable for your remote IP - $configurator->enableTracy($rootDir . '/log'); - $configurator->setTempDirectory($rootDir . '/temp'); + public function initializeEnvironment(): void + { + //$this->configurator->setDebugMode('secret@23.75.345.200'); // enable for your remote IP + $this->configurator->enableTracy($this->rootDir . '/log'); - $configurator->createRobotLoader() + $this->configurator->createRobotLoader() ->addDirectory(__DIR__) ->register(); + } - $configurator->addConfig($rootDir . '/config/common.neon'); - $configurator->addConfig($rootDir . '/config/services.neon'); - return $configurator; + private function setupContainer(): void + { + $configDir = $this->rootDir . '/config'; + $this->configurator->addConfig($configDir . '/common.neon'); + $this->configurator->addConfig($configDir . '/services.neon'); } } diff --git a/www/index.php b/www/index.php index 466a9884..d6e6884a 100644 --- a/www/index.php +++ b/www/index.php @@ -4,7 +4,7 @@ require __DIR__ . '/../vendor/autoload.php'; -$configurator = App\Bootstrap::boot(); -$container = $configurator->createContainer(); +$bootstrap = new App\Bootstrap; +$container = $bootstrap->bootWebApplication(); $application = $container->getByType(Nette\Application\Application::class); $application->run();