summaryrefslogtreecommitdiff
path: root/app/Core/Helper.php
diff options
context:
space:
mode:
Diffstat (limited to 'app/Core/Helper.php')
-rw-r--r--app/Core/Helper.php60
1 files changed, 60 insertions, 0 deletions
diff --git a/app/Core/Helper.php b/app/Core/Helper.php
new file mode 100644
index 00000000..53084a7e
--- /dev/null
+++ b/app/Core/Helper.php
@@ -0,0 +1,60 @@
+<?php
+
+namespace Core;
+
+/**
+ * Helper base class
+ *
+ * @package core
+ * @author Frederic Guillot
+ *
+ * @property \Helper\App $app
+ * @property \Helper\Asset $asset
+ * @property \Helper\Datetime $datetime
+ * @property \Helper\File $file
+ * @property \Helper\Form $form
+ * @property \Helper\Subtask $subtask
+ * @property \Helper\Task $task
+ * @property \Helper\Text $text
+ * @property \Helper\Url $url
+ * @property \Helper\User $user
+ */
+class Helper extends Base
+{
+ /**
+ * Helper instances
+ *
+ * @static
+ * @access private
+ * @var array
+ */
+ private static $helpers = array();
+
+ /**
+ * Load automatically helpers
+ *
+ * @access public
+ * @param string $name Helper name
+ * @return mixed
+ */
+ public function __get($name)
+ {
+ if (! isset(self::$helpers[$name])) {
+ $class = '\Helper\\'.ucfirst($name);
+ self::$helpers[$name] = new $class($this->container);
+ }
+
+ return self::$helpers[$name];
+ }
+
+ /**
+ * HTML escaping
+ *
+ * @param string $value Value to escape
+ * @return string
+ */
+ public function e($value)
+ {
+ return htmlspecialchars($value, ENT_QUOTES, 'UTF-8', false);
+ }
+}