Skip to content

Commit be77df6

Browse files
committed
updated for nette/di 3
1 parent 0583553 commit be77df6

File tree

4 files changed

+29
-22
lines changed

4 files changed

+29
-22
lines changed

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
},
2727
"require-dev": {
2828
"nette/tester": "^2.0.1",
29-
"nette/di": "^2.4 || ~3.0.0",
29+
"nette/di": "dev-master",
3030
"nette/forms": "^3.0.0-beta",
3131
"nette/robot-loader": "^2.4.2 || ^3.0",
3232
"nette/security": "^3.0",

src/Bridges/ApplicationDI/ApplicationExtension.php

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -65,16 +65,17 @@ public function loadConfiguration()
6565
$application = $builder->addDefinition($this->prefix('application'))
6666
->setFactory(Nette\Application\Application::class)
6767
->addSetup('$catchExceptions', [$config['catchExceptions']])
68-
->addSetup('$errorPresenter', [$config['errorPresenter']]);
68+
->addSetup('$errorPresenter', [$config['errorPresenter']])
69+
->setExported();
6970

7071
if ($config['debugger']) {
7172
$application->addSetup('Nette\Bridges\ApplicationTracy\RoutingPanel::initializePanel');
7273
}
7374

7475
$touch = $this->debugMode && $config['scanDirs'] ? $this->tempFile : null;
7576
$presenterFactory = $builder->addDefinition($this->prefix('presenterFactory'))
76-
->setClass(Nette\Application\IPresenterFactory::class)
77-
->setFactory(Nette\Application\PresenterFactory::class, [new Nette\DI\Statement(
77+
->setType(Nette\Application\IPresenterFactory::class)
78+
->setFactory(Nette\Application\PresenterFactory::class, [new Nette\DI\Definitions\Statement(
7879
Nette\Bridges\ApplicationDI\PresenterFactoryCallback::class, [1 => $this->invalidLinkMode, $touch]
7980
)]);
8081

@@ -84,8 +85,9 @@ public function loadConfiguration()
8485

8586
$builder->addDefinition($this->prefix('linkGenerator'))
8687
->setFactory(Nette\Application\LinkGenerator::class, [
87-
1 => new Nette\DI\Statement('@Nette\Http\IRequest::getUrl'),
88-
]);
88+
1 => new Nette\DI\Definitions\Statement('@Nette\Http\IRequest::getUrl'),
89+
])
90+
->setExported();
8991

9092
if ($this->name === 'application') {
9193
$builder->addAlias('application', $this->prefix('application'));
@@ -100,21 +102,23 @@ public function beforeCompile()
100102
$all = [];
101103

102104
foreach ($builder->findByType(Nette\Application\IPresenter::class) as $def) {
103-
$all[$def->getClass()] = $def;
105+
$all[$def->getType()] = $def;
104106
}
105107

106108
$counter = 0;
107109
foreach ($this->findPresenters() as $class) {
108110
if (empty($all[$class])) {
109-
$all[$class] = $builder->addDefinition($this->prefix((string) ++$counter))->setClass($class);
111+
$all[$class] = $builder->addDefinition($this->prefix((string) ++$counter))
112+
->setType($class)
113+
->setExported();
110114
}
111115
}
112116

113117
foreach ($all as $def) {
114118
$def->addTag(Nette\DI\Extensions\InjectExtension::TAG_INJECT)
115-
->addTag('nette.presenter', $def->getClass());
119+
->addTag('nette.presenter', $def->getType());
116120

117-
if (is_subclass_of($def->getClass(), UI\Presenter::class)) {
121+
if (is_subclass_of($def->getType(), UI\Presenter::class)) {
118122
$def->addSetup('$invalidLinkMode', [$this->invalidLinkMode]);
119123
}
120124
}

src/Bridges/ApplicationDI/LatteExtension.php

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -48,20 +48,22 @@ public function loadConfiguration()
4848
$config = $this->validateConfig($this->defaults);
4949
$builder = $this->getContainerBuilder();
5050

51-
$latteFactory = $builder->addDefinition($this->prefix('latteFactory'))
52-
->setFactory(Latte\Engine::class)
53-
->addSetup('setTempDirectory', [$this->tempDir])
54-
->addSetup('setAutoRefresh', [$this->debugMode])
55-
->addSetup('setContentType', [$config['xhtml'] ? Latte\Compiler::CONTENT_XHTML : Latte\Compiler::CONTENT_HTML])
56-
->addSetup('Nette\Utils\Html::$xhtml = ?', [(bool) $config['xhtml']])
57-
->setImplement(Nette\Bridges\ApplicationLatte\ILatteFactory::class);
51+
$latteFactory = $builder->addFactoryDefinition($this->prefix('latteFactory'))
52+
->setImplement(Nette\Bridges\ApplicationLatte\ILatteFactory::class)
53+
->setExported()
54+
->getResultDefinition()
55+
->setFactory(Latte\Engine::class)
56+
->addSetup('setTempDirectory', [$this->tempDir])
57+
->addSetup('setAutoRefresh', [$this->debugMode])
58+
->addSetup('setContentType', [$config['xhtml'] ? Latte\Compiler::CONTENT_XHTML : Latte\Compiler::CONTENT_HTML])
59+
->addSetup('Nette\Utils\Html::$xhtml = ?', [(bool) $config['xhtml']]);
5860

5961
if ($config['strictTypes']) {
6062
$latteFactory->addSetup('setStrictTypes', [true]);
6163
}
6264

6365
$builder->addDefinition($this->prefix('templateFactory'))
64-
->setClass(Nette\Application\UI\ITemplateFactory::class)
66+
->setType(Nette\Application\UI\ITemplateFactory::class)
6567
->setFactory(Nette\Bridges\ApplicationLatte\TemplateFactory::class)
6668
->setArguments(['templateClass' => $config['templateClass']]);
6769

@@ -79,7 +81,7 @@ public function loadConfiguration()
7981
public function addMacro(string $macro): void
8082
{
8183
$builder = $this->getContainerBuilder();
82-
$definition = $builder->getDefinition($this->prefix('latteFactory'));
84+
$definition = $builder->getDefinition($this->prefix('latteFactory'))->getResultDefinition();
8385

8486
if (($macro[0] ?? null) === '@') {
8587
if (strpos($macro, '::') === false) {

src/Bridges/ApplicationDI/RoutingExtension.php

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,9 @@ public function loadConfiguration()
4242
$builder = $this->getContainerBuilder();
4343

4444
$router = $builder->addDefinition($this->prefix('router'))
45-
->setClass(Nette\Application\IRouter::class)
46-
->setFactory(Nette\Application\Routers\RouteList::class);
45+
->setType(Nette\Application\IRouter::class)
46+
->setFactory(Nette\Application\Routers\RouteList::class)
47+
->setExported();
4748

4849
$routeClass = $config['routeClass'] ?: 'Nette\Application\Routers\Route';
4950
foreach ($config['routes'] as $mask => $action) {
@@ -62,7 +63,7 @@ public function beforeCompile()
6263

6364
if ($this->debugMode && $this->config['debugger'] && $application = $builder->getByType(Nette\Application\Application::class)) {
6465
$builder->getDefinition($application)->addSetup('@Tracy\Bar::addPanel', [
65-
new Nette\DI\Statement(Nette\Bridges\ApplicationTracy\RoutingPanel::class),
66+
new Nette\DI\Definitions\Statement(Nette\Bridges\ApplicationTracy\RoutingPanel::class),
6667
]);
6768
}
6869
}

0 commit comments

Comments
 (0)