Skip to content

Commit a92a2dd

Browse files
committed
Bootstrap: new API
1 parent a7cae22 commit a92a2dd

File tree

2 files changed

+31
-12
lines changed

2 files changed

+31
-12
lines changed

app/Bootstrap.php

Lines changed: 29 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,28 +4,47 @@
44

55
namespace App;
66

7+
use Nette;
78
use Nette\Bootstrap\Configurator;
89

910

1011
class Bootstrap
1112
{
12-
public static function boot(): Configurator
13+
private Configurator $configurator;
14+
private string $rootDir;
15+
16+
17+
public function __construct()
18+
{
19+
$this->rootDir = dirname(__DIR__);
20+
$this->configurator = new Configurator;
21+
$this->configurator->setTempDirectory($this->rootDir . '/temp');
22+
}
23+
24+
25+
public function bootWebApplication(): Nette\DI\Container
1326
{
14-
$configurator = new Configurator;
15-
$rootDir = dirname(__DIR__);
27+
$this->initializeEnvironment();
28+
$this->setupContainer();
29+
return $this->configurator->createContainer();
30+
}
1631

17-
//$configurator->setDebugMode('[email protected]'); // enable for your remote IP
18-
$configurator->enableTracy($rootDir . '/log');
1932

20-
$configurator->setTempDirectory($rootDir . '/temp');
33+
public function initializeEnvironment(): void
34+
{
35+
//$this->configurator->setDebugMode('[email protected]'); // enable for your remote IP
36+
$this->configurator->enableTracy($this->rootDir . '/log');
2137

22-
$configurator->createRobotLoader()
38+
$this->configurator->createRobotLoader()
2339
->addDirectory(__DIR__)
2440
->register();
41+
}
2542

26-
$configurator->addConfig($rootDir . '/config/common.neon');
27-
$configurator->addConfig($rootDir . '/config/services.neon');
2843

29-
return $configurator;
44+
private function setupContainer(): void
45+
{
46+
$configDir = $this->rootDir . '/config';
47+
$this->configurator->addConfig($configDir . '/common.neon');
48+
$this->configurator->addConfig($configDir . '/services.neon');
3049
}
3150
}

www/index.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
require __DIR__ . '/../vendor/autoload.php';
66

7-
$configurator = App\Bootstrap::boot();
8-
$container = $configurator->createContainer();
7+
$bootstrap = new App\Bootstrap;
8+
$container = $bootstrap->bootWebApplication();
99
$application = $container->getByType(Nette\Application\Application::class);
1010
$application->run();

0 commit comments

Comments
 (0)