mirror of
https://github.com/Mibew/handlebars.php.git
synced 2025-04-15 10:57:24 +03:00
Pass an instance of \Handlebars\Arguments to a helper
This commit is contained in:
parent
592a01c4b9
commit
19c78888ce
@ -31,10 +31,10 @@ interface Helper
|
||||
/**
|
||||
* Execute the helper
|
||||
*
|
||||
* @param \Handlebars\Template $template The template instance
|
||||
* @param \Handlebars\Context $context The current context
|
||||
* @param array $args The arguments passed the the helper
|
||||
* @param string $source The source
|
||||
* @param \Handlebars\Template $template The template instance
|
||||
* @param \Handlebars\Context $context The current context
|
||||
* @param \Handlebars\Arguments $args The arguments passed the the helper
|
||||
* @param string $source The source
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
|
@ -41,10 +41,10 @@ class BindAttrHelper implements Helper
|
||||
/**
|
||||
* Execute the helper
|
||||
*
|
||||
* @param \Handlebars\Template $template The template instance
|
||||
* @param \Handlebars\Context $context The current context
|
||||
* @param array $args The arguments passed the the helper
|
||||
* @param string $source The source
|
||||
* @param \Handlebars\Template $template The template instance
|
||||
* @param \Handlebars\Context $context The current context
|
||||
* @param \Handlebars\Arguments $args The arguments passed the the helper
|
||||
* @param string $source The source
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
|
@ -43,16 +43,17 @@ class EachHelper implements Helper
|
||||
/**
|
||||
* Execute the helper
|
||||
*
|
||||
* @param \Handlebars\Template $template The template instance
|
||||
* @param \Handlebars\Context $context The current context
|
||||
* @param array $args The arguments passed the the helper
|
||||
* @param string $source The source
|
||||
* @param \Handlebars\Template $template The template instance
|
||||
* @param \Handlebars\Context $context The current context
|
||||
* @param \Handlebars\Arguments $args The arguments passed the the helper
|
||||
* @param string $source The source
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public function execute(Template $template, Context $context, $args, $source)
|
||||
{
|
||||
$tmp = $context->get($args);
|
||||
$positionalArgs = $args->getPositionalArguments();
|
||||
$tmp = $context->get($positionalArgs[0]);
|
||||
$buffer = '';
|
||||
|
||||
if (!$tmp) {
|
||||
|
@ -41,20 +41,17 @@ class IfHelper implements Helper
|
||||
/**
|
||||
* Execute the helper
|
||||
*
|
||||
* @param \Handlebars\Template $template The template instance
|
||||
* @param \Handlebars\Context $context The current context
|
||||
* @param array $args The arguments passed the the helper
|
||||
* @param string $source The source
|
||||
* @param \Handlebars\Template $template The template instance
|
||||
* @param \Handlebars\Context $context The current context
|
||||
* @param \Handlebars\Arguments $args The arguments passed the the helper
|
||||
* @param string $source The source
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public function execute(Template $template, Context $context, $args, $source)
|
||||
{
|
||||
if (is_numeric($args)) {
|
||||
$tmp = $args;
|
||||
} else {
|
||||
$tmp = $context->get($args);
|
||||
}
|
||||
$postionalArgs = $args->getPositionalArguments();
|
||||
$tmp = $context->get($postionalArgs[0]);
|
||||
|
||||
$context->push($context->last());
|
||||
if ($tmp) {
|
||||
|
@ -41,16 +41,17 @@ class UnlessHelper implements Helper
|
||||
/**
|
||||
* Execute the helper
|
||||
*
|
||||
* @param \Handlebars\Template $template The template instance
|
||||
* @param \Handlebars\Context $context The current context
|
||||
* @param array $args The arguments passed the the helper
|
||||
* @param string $source The source
|
||||
* @param \Handlebars\Template $template The template instance
|
||||
* @param \Handlebars\Context $context The current context
|
||||
* @param \Handlebars\Arguments $args The arguments passed the the helper
|
||||
* @param string $source The source
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public function execute(Template $template, Context $context, $args, $source)
|
||||
{
|
||||
$tmp = $context->get($args);
|
||||
$positionalArgs = $args->getPositionalArguments();
|
||||
$tmp = $context->get($positionalArgs[0]);
|
||||
|
||||
$context->push($context->last());
|
||||
|
||||
|
@ -41,16 +41,17 @@ class WithHelper implements Helper
|
||||
/**
|
||||
* Execute the helper
|
||||
*
|
||||
* @param \Handlebars\Template $template The template instance
|
||||
* @param \Handlebars\Context $context The current context
|
||||
* @param array $args The arguments passed the the helper
|
||||
* @param string $source The source
|
||||
* @param \Handlebars\Template $template The template instance
|
||||
* @param \Handlebars\Context $context The current context
|
||||
* @param \Handlebars\Arguments $args The arguments passed the the helper
|
||||
* @param string $source The source
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public function execute(Template $template, Context $context, $args, $source)
|
||||
{
|
||||
$context->with($args);
|
||||
$positionalArgs = $args->getPositionalArguments();
|
||||
$context->with($positionalArgs[0]);
|
||||
$buffer = $template->render($context);
|
||||
$context->pop();
|
||||
|
||||
|
@ -124,13 +124,14 @@ class Helpers
|
||||
throw new \InvalidArgumentException('Unknown helper: ' . $name);
|
||||
}
|
||||
|
||||
$parsedArgs = new Arguments($args);
|
||||
if ($this->helpers[$name] instanceof Helper) {
|
||||
return $this->helpers[$name]->execute(
|
||||
$template, $context, $args, $source
|
||||
$template, $context, $parsedArgs, $source
|
||||
);
|
||||
}
|
||||
|
||||
return call_user_func($this->helpers[$name], $template, $context, $args, $source);
|
||||
return call_user_func($this->helpers[$name], $template, $context, $parsedArgs, $source);
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user