diff options
Diffstat (limited to 'app/Core')
-rw-r--r-- | app/Core/Helper.php | 32 | ||||
-rw-r--r-- | app/Core/Lexer.php | 4 |
2 files changed, 30 insertions, 6 deletions
diff --git a/app/Core/Helper.php b/app/Core/Helper.php index 53084a7e..e4f225b0 100644 --- a/app/Core/Helper.php +++ b/app/Core/Helper.php @@ -2,6 +2,8 @@ namespace Core; +use Pimple\Container; + /** * Helper base class * @@ -19,16 +21,34 @@ namespace Core; * @property \Helper\Url $url * @property \Helper\User $user */ -class Helper extends Base +class Helper { /** * Helper instances * - * @static * @access private * @var array */ - private static $helpers = array(); + private $helpers = array(); + + /** + * Container instance + * + * @access protected + * @var \Pimple\Container + */ + protected $container; + + /** + * Constructor + * + * @access public + * @param \Pimple\Container $container + */ + public function __construct(Container $container) + { + $this->container = $container; + } /** * Load automatically helpers @@ -39,12 +59,12 @@ class Helper extends Base */ public function __get($name) { - if (! isset(self::$helpers[$name])) { + if (! isset($this->helpers[$name])) { $class = '\Helper\\'.ucfirst($name); - self::$helpers[$name] = new $class($this->container); + $this->helpers[$name] = new $class($this->container); } - return self::$helpers[$name]; + return $this->helpers[$name]; } /** diff --git a/app/Core/Lexer.php b/app/Core/Lexer.php index d277f998..3887dc82 100644 --- a/app/Core/Lexer.php +++ b/app/Core/Lexer.php @@ -33,11 +33,14 @@ class Lexer "/^(category:)/" => 'T_CATEGORY', "/^(column:)/" => 'T_COLUMN', "/^(project:)/" => 'T_PROJECT', + "/^(ref:)/" => 'T_REFERENCE', + "/^(reference:)/" => 'T_REFERENCE', "/^(\s+)/" => 'T_WHITESPACE', '/^([<=>]{0,2}[0-9]{4}-[0-9]{2}-[0-9]{2})/' => 'T_DATE', '/^(yesterday|tomorrow|today)/' => 'T_DATE', '/^("(.*?)")/' => 'T_STRING', "/^(\w+)/" => 'T_STRING', + "/^(#\d+)/" => 'T_STRING', ); /** @@ -124,6 +127,7 @@ class Lexer case 'T_STATUS': case 'T_DUE': case 'T_DESCRIPTION': + case 'T_REFERENCE': $next = next($tokens); if ($next !== false && ($next['token'] === 'T_DATE' || $next['token'] === 'T_STRING')) { |