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