Skip to content

Commit 004b0a9

Browse files
committed
Nella: better router replacement
1 parent 033370b commit 004b0a9

File tree

1 file changed

+13
-3
lines changed

1 file changed

+13
-3
lines changed

src/DI/NellaExtension.php

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
use Contributte\Nella\Service\WwwFolder;
1515
use Nette\DI\Definitions\ServiceDefinition;
1616
use Nette\DI\Definitions\Statement;
17+
use Nette\Routing\SimpleRouter;
1718

1819
class NellaExtension extends CompilerExtension
1920
{
@@ -62,9 +63,18 @@ public function beforeCompile(): void
6263
{
6364
$builder = $this->getContainerBuilder();
6465

65-
$routerDef = $builder->getDefinition('routing.router');
66-
assert($routerDef instanceof ServiceDefinition);
67-
$routerDef->setFactory(new Statement($this->prefix('@routerFactory::create')));
66+
if ($builder->hasDefinition('routing.router')) {
67+
$routerDef = $builder->getDefinition('routing.router');
68+
assert($routerDef instanceof ServiceDefinition);
69+
70+
// Only replace if default SimpleRouter is used
71+
if ($routerDef->getCreator()->getEntity() === SimpleRouter::class) {
72+
$routerDef->setFactory(new Statement($this->prefix('@routerFactory::create')));
73+
}
74+
} else {
75+
$routerDef = $builder->addDefinition('routing.router');
76+
$routerDef->setFactory(new Statement($this->prefix('@routerFactory::create')));
77+
}
6878
}
6979

7080
}

0 commit comments

Comments
 (0)