mirror of
https://github.com/fenom-template/fenom.git
synced 2023-08-10 21:13:07 +03:00
Add predefined accessors Fenom::ACCESSOR_PROPERY and Fenom::ACCESSOR_METHOD
This commit is contained in:
@@ -28,16 +28,53 @@ class Accessor {
|
||||
'env' => '$_ENV'
|
||||
);
|
||||
|
||||
public static function parserVar($var, Tokenizer $tokens, Template $tpl, &$is_var) {
|
||||
/**
|
||||
* @param string $var variable expression on PHP ('App::get("storage")->user')
|
||||
* @param Tokenizer $tokens
|
||||
* @param Template $tpl
|
||||
* @param $is_var
|
||||
* @return string
|
||||
*/
|
||||
public static function parserVar($var, Tokenizer $tokens, Template $tpl, &$is_var)
|
||||
{
|
||||
$is_var = true;
|
||||
return $tpl->parseVariable($tokens, $var);
|
||||
}
|
||||
|
||||
|
||||
public static function parserCall($call, Tokenizer $tokens, Template $tpl) {
|
||||
/**
|
||||
* @param string $call method name expression on PHP ('App::get("storage")->getUser')
|
||||
* @param Tokenizer $tokens
|
||||
* @param Template $tpl
|
||||
* @return string
|
||||
*/
|
||||
public static function parserCall($call, Tokenizer $tokens, Template $tpl)
|
||||
{
|
||||
return $call.$tpl->parseArgs($tokens);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $prop fenom's property name
|
||||
* @param Tokenizer $tokens
|
||||
* @param Template $tpl
|
||||
* @param $is_var
|
||||
* @return string
|
||||
*/
|
||||
public static function parserProperty($prop, Tokenizer $tokens, Template $tpl, &$is_var)
|
||||
{
|
||||
return self::parserVar('$tpl->getStorage()->'.$prop, $tokens, $tpl, $is_var);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $method fenom's method name
|
||||
* @param Tokenizer $tokens
|
||||
* @param Template $tpl
|
||||
* @return string
|
||||
*/
|
||||
public static function parserMethod($method, Tokenizer $tokens, Template $tpl)
|
||||
{
|
||||
return self::parserCall('$tpl->getStorage()->'.$method, $tokens, $tpl);
|
||||
}
|
||||
|
||||
/**
|
||||
* Accessor for global variables
|
||||
* @param Tokenizer $tokens
|
||||
@@ -70,6 +107,9 @@ class Accessor {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public static function version()
|
||||
{
|
||||
return 'Fenom::VERSION';
|
||||
|
Reference in New Issue
Block a user