summaryrefslogtreecommitdiff
path: root/app/ServiceProvider/ClassProvider.php
diff options
context:
space:
mode:
authorFrédéric Guillot <fred@kanboard.net>2014-12-28 11:28:50 -0500
committerFrédéric Guillot <fred@kanboard.net>2014-12-28 11:28:50 -0500
commit34d7450d3c13342715e90ec21bceaa13e1baa876 (patch)
treea2d8f2f22ad3fe9b56f01fe2db0357f9b963e660 /app/ServiceProvider/ClassProvider.php
parent88d84073aecbe8bdc5f10825b6d7ca6b81c5f7b1 (diff)
Template helpers refactoring
Diffstat (limited to 'app/ServiceProvider/ClassProvider.php')
-rw-r--r--app/ServiceProvider/ClassProvider.php72
1 files changed, 72 insertions, 0 deletions
diff --git a/app/ServiceProvider/ClassProvider.php b/app/ServiceProvider/ClassProvider.php
new file mode 100644
index 00000000..02e5004e
--- /dev/null
+++ b/app/ServiceProvider/ClassProvider.php
@@ -0,0 +1,72 @@
+<?php
+
+namespace ServiceProvider;
+
+use Model\Config;
+use Model\Project;
+use Model\Webhook;
+use Pimple\Container;
+use Pimple\ServiceProviderInterface;
+
+class ClassProvider implements ServiceProviderInterface
+{
+ private $classes = array(
+ 'Model' => array(
+ 'Acl',
+ 'Action',
+ 'Authentication',
+ 'Board',
+ 'Category',
+ 'Color',
+ 'Comment',
+ 'Config',
+ 'DateParser',
+ 'File',
+ 'GithubWebhook',
+ 'LastLogin',
+ 'Notification',
+ 'Project',
+ 'ProjectActivity',
+ 'ProjectAnalytics',
+ 'ProjectDailySummary',
+ 'ProjectPaginator',
+ 'ProjectPermission',
+ 'SubTask',
+ 'SubtaskPaginator',
+ 'Swimlane',
+ 'Task',
+ 'TaskCreation',
+ 'TaskDuplication',
+ 'TaskExport',
+ 'TaskFinder',
+ 'TaskModification',
+ 'TaskPaginator',
+ 'TaskPermission',
+ 'TaskPosition',
+ 'TaskStatus',
+ 'TaskValidator',
+ 'TimeTracking',
+ 'User',
+ 'Webhook',
+ ),
+ 'Core' => array(
+ 'Template',
+ 'Session',
+ ),
+ );
+
+ public function register(Container $container)
+ {
+ foreach ($this->classes as $namespace => $classes) {
+
+ foreach ($classes as $name) {
+
+ $class = '\\'.$namespace.'\\'.$name;
+
+ $container[lcfirst($name)] = function ($c) use ($class) {
+ return new $class($c);
+ };
+ }
+ }
+ }
+}