mirror of
https://github.com/twigphp/Twig.git
synced 2026-09-14 11:27:00 +00:00
removed Twig_Template instances from the debug tag output (closes #73)
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
* 0.9.8
|
||||
|
||||
* removed Twig_Template instances from the debug tag output
|
||||
* fixed objects with __isset() defined
|
||||
* fixed set tag when used with a capture
|
||||
* fixed type hinting for Twig_Environment::addFilter() method
|
||||
|
||||
+19
-4
@@ -35,17 +35,32 @@ class Twig_Node_Debug extends Twig_Node
|
||||
$compiler
|
||||
->write("if (\$this->env->isDebug()) {\n")
|
||||
->indent()
|
||||
->write('var_export(')
|
||||
;
|
||||
|
||||
if (null === $this->expr) {
|
||||
$compiler->raw('$context');
|
||||
// remove embedded templates (macros) from the context
|
||||
$compiler
|
||||
->write("\$vars = array();\n")
|
||||
->write("foreach (\$context as \$key => \$value) {\n")
|
||||
->indent()
|
||||
->write("if (!\$value instanceof Twig_Template) {\n")
|
||||
->indent()
|
||||
->write("\$vars[\$key] = \$value;\n")
|
||||
->outdent()
|
||||
->write("}\n")
|
||||
->outdent()
|
||||
->write("}\n")
|
||||
->write("print_r(\$vars);\n")
|
||||
;
|
||||
} else {
|
||||
$compiler->subcompile($this->expr);
|
||||
$compiler
|
||||
->write("print_r(")
|
||||
->subcompile($this->expr)
|
||||
->raw(");\n")
|
||||
;
|
||||
}
|
||||
|
||||
$compiler
|
||||
->raw(");\n")
|
||||
->outdent()
|
||||
->write("}\n")
|
||||
;
|
||||
|
||||
@@ -41,7 +41,13 @@ class Twig_Tests_Node_DebugTest extends Twig_Tests_Node_TestCase
|
||||
|
||||
$tests[] = array(new Twig_Node_Debug(null, 0), <<<EOF
|
||||
if (\$this->env->isDebug()) {
|
||||
var_export(\$context);
|
||||
\$vars = array();
|
||||
foreach (\$context as \$key => \$value) {
|
||||
if (!\$value instanceof Twig_Template) {
|
||||
\$vars[\$key] = \$value;
|
||||
}
|
||||
}
|
||||
print_r(\$vars);
|
||||
}
|
||||
EOF
|
||||
);
|
||||
@@ -51,7 +57,7 @@ EOF
|
||||
|
||||
$tests[] = array($node, <<<EOF
|
||||
if (\$this->env->isDebug()) {
|
||||
var_export((isset(\$context['foo']) ? \$context['foo'] : null));
|
||||
print_r((isset(\$context['foo']) ? \$context['foo'] : null));
|
||||
}
|
||||
EOF
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user