RENDER(Request& context) { DTree t; <>
t.set("String test");
print("String: ", t.to_string(), "\n");
t.set(true);
print("bool: ", t.to_string(), "\n");
t.set(1234.5678);
print("float: ", t.to_string(), "\n");
t.set(&t);
print("pointer: ", t.to_string(), "\n");
?>
t.key("a")->set("valueA");
t.key("b")->set("valueB");
t.key("c")->key("c-d")->set("valueCD");
t.key("c")->key("c-e")->set("valueCE");
t.key("c")->key("c-f")->set(&t);
t.key("g")->key("g-h")->key("h-i")->set("valueHI");
t["g"]["x"]["y1"] = "XYZ1";
t["g"]["x"]["y2"] = &t;
t["g"]["x"]["y3"] = time();
t["g"]["x"]["y4"] = "Ünicödä";
print(var_dump(t));
?>
DTree assoc_left;
assoc_left["name"] = "left";
assoc_left["shared"] = "left-value";
DTree assoc_right;
assoc_right["shared"] = "right-value";
assoc_right["extra"] = "new-value";
print("left:\n", var_dump(assoc_left), "\n");
print("right:\n", var_dump(assoc_right), "\n");
print("merged:\n", var_dump(array_merge(assoc_left, assoc_right)));
?>
DTree list_left;
list_left.set_array();
DTree a; a = "A"; list_left.push(a);
DTree b; b = "B"; list_left.push(b);
DTree list_right;
list_right.set_array();
DTree c; c = "C"; list_right.push(c);
DTree d; d = "D"; list_right.push(d);
print("left:\n", var_dump(list_left), "\n");
print("right:\n", var_dump(list_right), "\n");
print("merged:\n", var_dump(array_merge(list_left, list_right)));
?>
= var_dump(context.params) ?>