Template
1
No errors expected at this point
2
Auto-escaping enabled
3
@foo.bar: $foo['bar']
4
@foo[bar]: $foo[bar]
5
@foo['bar']: $foo['bar']
6
@foo["bar"]: $foo["bar"]
7
@foo.0: $foo[0]
8
@foo.@bar: $foo.$bar
9
@foo[@bar]: $foo[$bar]
10
@foo->bar.baz: $foo->bar['baz']
11
@foo->bar[baz]: $foo->bar[baz]
12
@foo->bar.@baz: $foo->bar.$baz
13
@foo->bar[@baz]: $foo->bar[$baz]
14
@foo->@baz: $foo->$baz
15
@foo::bar.baz: $foo::bar['baz']
16
@foo::bar[baz]: $foo::bar[baz]
17
@foo::bar.@baz: $foo::bar.$baz
18
@foo::@baz: $foo::$baz
19
@foo::bar[@baz]: $foo::bar[$baz]
20
@foo.bar->baz: $foo['bar']->baz
21
@foo.bar->@baz: $foo['bar']->$baz
22
@foo->bar[@qux.baz]: $foo->bar[$qux['baz']]
23
@foo->bar[@qux.@baz]: $foo->bar[$qux.$baz]
24
@foo(): $foo()
25
@foo(1.732): $foo(1.732)
26
@foo()->bar: $foo()->bar
27
@foo.zip(): $foo['zip']()
28
@foo.zip(@bar): $foo['zip']($bar)
29
@foo.zip(@bar,@baz): $foo['zip']($bar,$baz)
30
@foo.zip(@bar,'qux'): $foo['zip']($bar,'qux')
31
@foo.substr(@bar,3): $foo.substr($bar,3)
32
@foo->zip(@bar,'qux',123,['a'=>'hello']): $foo->zip($bar,'qux',123,['a'=>'hello'])
33
@foo[@bar+1].baz: $foo[$bar+1]['baz']
34
@foo.baz[@bar+1]: $foo['baz'][$bar+1]
35
@foo.'hello, world': $foo.'hello, world'
36
@foo.bar.baz->qux.corge[@gra::@ult()](@arp): $foo['bar']['baz']->qux['corge'][$gra::$ult()]($arp)
37
@foo | esc: $this->esc($foo)
38
<include>
39
double <include> doesn't double encode
40
<exclude> and {* comment *}
41
<repeat>
42
<check>, <true>, <true>
43
<check>, <true>, <false>
44
<check>, <false>, <true>
45
<check>, <false>, <false>
46
<switch>, <case>, <default>
47
<loop> with embedded <include>
48
<set>
49
<ignore>
50
Custom tag
51
Custom tag with inner content
52
Custom tag with value-less attribute
53
Custom tag with hyphenated attribute
54
Custom tag with attribute containing token
55
Custom tag with mixed attributes
56
Custom tag with mixed attributes (switched)
57
Custom tag with attribute containing template engine formatting
58
Custom tag with inline token
59
Custom tag with attribute and inline token
60
Custom tag with attributes, inline token, and ignored space
61
Custom tag with attribute, inline token, and another attribute
62
Custom tag (simple)
63
Custom tag with inner HTML containing template token
64
Custom tag spanning multiple lines
65
Node attribute with 0 value
66
Node attribute with empty value
67
Node with special attributes
68
<include> with extended hive
69
Escaped values
70
resolve() template strings
71
Register new token filter
72
Get list of available filters
73
Resolve custom filter: {{@foo | pick}} > \App\Helper::instance()->pick($foo)
74
Resolve filter with arguments: {{@foo, 'bar' | pick}} > \App\Helper::instance()->pick($foo, 'bar')
75
Filter pipe test: {{@foo, 'bar|baz' | pick}} > \App\Helper::instance()->pick($foo, 'bar|baz')
76
Double pipe OR condition: {{@foo || @bar}} > $foo || $bar
77
Ternary condition with filter: {{(@foo && @bar)? @baz: @qux | esc}} > $this->esc(($foo && $bar)? $baz: $qux)
78
Double pipe OR condition with filter: {{(@foo || @bar)? @baz: @qux | esc}} > $this->esc(($foo || $bar)? $baz: $qux)
79
Multiple filter: {{@foo | pick, esc}} > $this->esc(\App\Helper::instance()->pick($foo))
80
Multiple filter, multiple arguments: {{@foo, @bar | pick, esc}} > $this->esc(\App\Helper::instance()->pick($foo, $bar))
81
Test custom filter
82
Existing php function as filter: {{@foo | json_encode}} > json_encode($foo)
83
Overwrite existing raw php filter
84
Raw PHP template: 7.7 msecs
85
Use template engine: 8.42 msecs
86
Enable caching
87
Don't cache
88
Cache for two seconds
89
Load two second cached view
90
Replace outdated two second cached view
Page rendered in 3249.17 msecs / Memory usage 4194.3 Kibytes