Skip to content

Commit fc843e3

Browse files
committed
registered the 2 built in plugins into the manager
1 parent 7f85dc1 commit fc843e3

1 file changed

Lines changed: 18 additions & 0 deletions

File tree

src/Factory/PluginManagerFactory.php

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,11 @@
1010
namespace DotKernel\DotController\Factory;
1111

1212
use DotKernel\DotController\Plugin\PluginManager;
13+
use DotKernel\DotController\Plugin\TemplatePlugin;
14+
use DotKernel\DotController\Plugin\UrlHelperPlugin;
1315
use Interop\Container\ContainerInterface;
16+
use Zend\Expressive\Helper\UrlHelper;
17+
use Zend\Expressive\Template\TemplateRendererInterface;
1418

1519
/**
1620
* Class PluginManagerFactory
@@ -25,6 +29,20 @@ class PluginManagerFactory
2529
public function __invoke(ContainerInterface $container)
2630
{
2731
$pluginManager = new PluginManager($container, $container->get('config')['dk_controller']['plugin_manager']);
32+
33+
//register the built in plugins, if the required component is present
34+
if ($container->has(UrlHelper::class)) {
35+
$pluginManager->setFactory('url', function (ContainerInterface $container) {
36+
return new UrlHelperPlugin($container->get(UrlHelper::class));
37+
});
38+
}
39+
40+
if ($container->has(TemplateRendererInterface::class)) {
41+
$pluginManager->setFactory('template', function (ContainerInterface $container) {
42+
return new TemplatePlugin($container->get(TemplateRendererInterface::class));
43+
});
44+
}
45+
2846
return $pluginManager;
2947
}
3048
}

0 commit comments

Comments
 (0)