From ae708a712a5dd932c01e734f8450b899b1407a70 Mon Sep 17 00:00:00 2001 From: Frederic Guillot Date: Tue, 20 Dec 2016 20:06:39 -0500 Subject: Offer the possibility to override internal formatter objects from plugins --- app/Core/Tool.php | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) (limited to 'app/Core/Tool.php') diff --git a/app/Core/Tool.php b/app/Core/Tool.php index 9b8820eb..6e457641 100644 --- a/app/Core/Tool.php +++ b/app/Core/Tool.php @@ -41,7 +41,7 @@ class Tool } /** - * Build dependency injection container from an array + * Build dependency injection containers from an array * * @static * @access public @@ -63,6 +63,29 @@ class Tool return $container; } + /** + * Build dependency injection container from an array + * + * @static + * @access public + * @param Container $container + * @param array $namespaces + * @return Container + */ + public static function buildFactories(Container $container, array $namespaces) + { + foreach ($namespaces as $namespace => $classes) { + foreach ($classes as $name) { + $class = '\\Kanboard\\'.$namespace.'\\'.$name; + $container[lcfirst($name)] = $container->factory(function ($c) use ($class) { + return new $class($c); + }); + } + } + + return $container; + } + /** * Build dependency injection container for custom helpers from an array * -- cgit v1.2.3