mirror of
https://github.com/Mibew/handlebars.php.git
synced 2025-05-03 02:26:41 +03:00
Added support for class with __toString method as a context variable.
This commit is contained in:
parent
8f9d0e5fef
commit
23076d68e5
@ -591,14 +591,14 @@ class Template
|
|||||||
}
|
}
|
||||||
if ($escaped) {
|
if ($escaped) {
|
||||||
$args = $this->handlebars->getEscapeArgs();
|
$args = $this->handlebars->getEscapeArgs();
|
||||||
array_unshift($args, $value);
|
array_unshift($args, (string)$value);
|
||||||
$value = call_user_func_array(
|
$value = call_user_func_array(
|
||||||
$this->handlebars->getEscape(),
|
$this->handlebars->getEscape(),
|
||||||
array_values($args)
|
array_values($args)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
return $value;
|
return (string)$value;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -757,6 +757,9 @@ EOM;
|
|||||||
// Reference array as string
|
// Reference array as string
|
||||||
$this->assertEquals('Array', $engine->render('{{var}}', array('var' => array('test'))));
|
$this->assertEquals('Array', $engine->render('{{var}}', array('var' => array('test'))));
|
||||||
|
|
||||||
|
// Test class with __toString method
|
||||||
|
$this->assertEquals('test', $engine->render('{{var}}', array('var' => new TestClassWithToStringMethod())));
|
||||||
|
|
||||||
$obj = new DateTime();
|
$obj = new DateTime();
|
||||||
$time = $obj->getTimestamp();
|
$time = $obj->getTimestamp();
|
||||||
$this->assertEquals($time, $engine->render('{{time.getTimestamp}}', array('time' => $obj)));
|
$this->assertEquals($time, $engine->render('{{time.getTimestamp}}', array('time' => $obj)));
|
||||||
@ -1270,6 +1273,12 @@ EOM;
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class TestClassWithToStringMethod {
|
||||||
|
public function __toString() {
|
||||||
|
return 'test';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Testcase for testInlineLoader
|
* Testcase for testInlineLoader
|
||||||
*
|
*
|
||||||
@ -1282,4 +1291,4 @@ This is a inline template.
|
|||||||
a
|
a
|
||||||
b
|
b
|
||||||
c
|
c
|
||||||
d
|
d
|
||||||
|
Loading…
Reference in New Issue
Block a user