Skip to content

Commit 4a21fa4

Browse files
committed
ApplicationExtension: tag nette.presenter replaced by findByType()
1 parent a341413 commit 4a21fa4

File tree

3 files changed

+12
-17
lines changed

3 files changed

+12
-17
lines changed

src/Bridges/ApplicationDI/ApplicationExtension.php

+1-2
Original file line numberDiff line numberDiff line change
@@ -115,8 +115,7 @@ public function beforeCompile()
115115
}
116116

117117
foreach ($all as $def) {
118-
$def->addTag(Nette\DI\Extensions\InjectExtension::TAG_INJECT)
119-
->addTag('nette.presenter', $def->getType());
118+
$def->addTag(Nette\DI\Extensions\InjectExtension::TAG_INJECT);
120119

121120
if (is_subclass_of($def->getType(), UI\Presenter::class)) {
122121
$def->addSetup('$invalidLinkMode', [$this->invalidLinkMode]);

src/Bridges/ApplicationDI/PresenterFactoryCallback.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ public function __construct(Nette\DI\Container $container, int $invalidLinkMode,
3838

3939
public function __invoke(string $class): Nette\Application\IPresenter
4040
{
41-
$services = array_keys($this->container->findByTag('nette.presenter'), $class, true);
41+
$services = $this->container->findByType($class);
4242
if (count($services) > 1) {
4343
throw new Nette\Application\InvalidPresenterException("Multiple services of type $class found: " . implode(', ', $services) . '.');
4444

tests/Bridges.DI/ApplicationExtension.scan.phpt

+10-14
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,9 @@ test(function () {
2323
eval($code);
2424

2525
$container = new Container1;
26-
$tags = $container->findByTag('nette.presenter');
27-
Assert::count(1, array_keys($tags, NetteModule\ErrorPresenter::class, true));
28-
Assert::count(1, array_keys($tags, NetteModule\MicroPresenter::class, true));
29-
Assert::count(0, array_keys($tags, Nette\Application\UI\Presenter::class, true));
26+
Assert::count(1, $container->findByType(NetteModule\ErrorPresenter::class));
27+
Assert::count(1, $container->findByType(NetteModule\MicroPresenter::class));
28+
Assert::count(0, $container->findByType(Nette\Application\UI\Presenter::class));
3029
});
3130

3231

@@ -46,10 +45,9 @@ test(function () {
4645
eval($code);
4746

4847
$container = new Container2;
49-
$tags = $container->findByTag('nette.presenter');
50-
Assert::count(1, array_keys($tags, 'BasePresenter', true));
51-
Assert::count(1, array_keys($tags, 'Presenter1', true));
52-
Assert::count(1, array_keys($tags, 'Presenter2', true));
48+
Assert::count(3, $container->findByType(BasePresenter::class));
49+
Assert::count(1, $container->findByType(Presenter1::class));
50+
Assert::count(1, $container->findByType(Presenter2::class));
5351
});
5452

5553

@@ -73,11 +71,9 @@ test(function () {
7371
eval($code);
7472

7573
$container = new Container3;
76-
$tags = $container->findByTag('nette.presenter');
77-
Assert::count(1, array_keys($tags, 'BasePresenter', true));
78-
Assert::count(1, array_keys($tags, 'Presenter1', true));
79-
Assert::count(1, array_keys($tags, 'Presenter2', true));
74+
Assert::count(3, $container->findByType(BasePresenter::class));
75+
Assert::count(1, $container->findByType(Presenter1::class));
76+
Assert::count(1, $container->findByType(Presenter2::class));
8077

81-
$tmp = array_keys($tags, 'Presenter1', true);
82-
Assert::same('test', $container->getService((string) $tmp[0])->getView());
78+
Assert::same('test', $container->getByType(Presenter1::class)->getView());
8379
});

0 commit comments

Comments
 (0)