<span> 1</span><span>
</span><span> 5</span><span>
public
</span><span>
function
getViewFile()
</span><span> 6</span><span> {
</span><span> 7</span><span>
return
</span>
end
($<span>this</span>-><span>_viewFiles);
</span><span> 8</span><span> }
</span><span> 9</span><span> 10</span><span>
</span><span> 20</span><span>
public
</span>
function
beforeRender(
$viewFile
, $<span>params</span><span>)
</span><span> 21</span><span> {
</span><span> 22</span> $<span>event</span> = <span>
new
</span> ViewEvent([<span>
</span><span> 24</span><span>
'</span><span>params</span><span>'
</span> => $<span>params</span><span>,
</span><span> 25</span><span> ]);
</span><span> 26</span> $<span>this</span>->trigger(self::EVENT_BEFORE_RENDER, $<span>event</span>);<span>
</span><span> 30</span><span> 31</span><span>
</span><span> 43</span><span>
public
</span>
function
afterRender(
$viewFile
, $<span>params</span>, &<span>
$output
)
</span><span> 44</span><span> {
</span><span> 45</span><span>
if
</span> ($<span>this</span>->hasEventHandlers(self::EVENT_AFTER_RENDER)) {<span>
</span><span> 47</span><span>
'</span><span>viewFile</span><span>'
</span> =><span>
$viewFile
,
</span><span> 48</span><span>
'</span><span>params</span><span>'
</span> => $<span>params</span><span>,
</span><span> 49</span><span>
'</span><span>output</span><span>'
</span> =><span>
$output
,
</span><span> 50</span><span> ]);
</span><span> 51</span><span>
</span><span> 53</span>
$output
= $<span>event</span>->output;<span>
</span><span> 55</span><span> }
</span><span> 56</span><span> 57</span><span>
</span><span> 70</span><span>
public
</span>
function
renderPhpFile(
$_file_
,
$_params_
=<span> [])
</span><span> 71</span><span> {
</span><span> 72</span> ob_start(); <span>
</span><span> 76</span><span> 77</span><span>
return
</span> ob_get_clean();<span>
</span><span> 79</span><span> 80</span><span>
</span><span> 91</span><span>
public
</span><span>
function
renderDynamic(
$statements
)
</span><span> 92</span><span> {
</span><span> 93</span><span>
if
</span> (!
empty
($<span>this</span>->cacheStack)) {<span>
</span><span> 99</span> } <span>
else
</span> {<span>
</span><span>101</span><span> }
</span><span>102</span><span> }
</span><span>103</span><span>104</span><span>
</span><span>111</span><span>
public
</span><span>
function
addDynamicPlaceholder(
$placeholder
,
$statements
)
</span><span>112</span><span> {
</span><span>113</span><span>
foreach
</span> ($<span>this</span>->cacheStack <span>
as
</span><span>
$cache
) {
</span><span>114</span>
$cache
->dynamicPlaceholders[
$placeholder
] =
$statements
;<span>
</span><span>116</span> $<span>this</span>->dynamicPlaceholders[
$placeholder
] =
$statements
;<span>
</span><span>118</span><span>119</span><span>
</span><span>125</span><span>
public
</span><span>
function
evaluateDynamicContent(
$statements
)
</span><span>126</span><span> {
</span><span>127</span><span>
return
</span><span>
eval
(
$statements
);
</span><span>128</span><span> }
</span><span>129</span><span>130</span><span>
</span><span>140</span><span>
public
</span>
function
beginBlock(
$id
,
$renderInPlace
= <span>false</span><span>)
</span><span>141</span><span> {
</span><span>142</span><span>
return
</span><span> Block::begin([
</span><span>143</span><span>
'</span><span>id</span><span>'
</span> =>
$id
,<span>
</span><span>146</span><span> ]);
</span><span>147</span><span> }
</span><span>148</span><span>149</span><span>
</span><span>152</span><span>
public
</span><span>
function
endBlock()
</span><span>153</span><span> {
</span><span>154</span><span> Block::
end
();
</span><span>155</span><span> }
</span><span>156</span><span>157</span><span>
</span><span>175</span><span>
public
</span>
function
beginContent(
$viewFile
, $<span>params</span> =<span> [])
</span><span>176</span><span> {
</span><span>177</span><span>
return
</span><span> ContentDecorator::begin([
</span><span>178</span><span>
'</span><span>viewFile</span><span>'
</span> =><span>
$viewFile
,
</span><span>179</span><span>
'</span><span>params</span><span>'
</span> => $<span>params</span><span>,
</span><span>180</span><span>
'</span><span>view</span><span>'
</span> => $<span>this</span><span>,
</span><span>181</span><span> ]);
</span><span>182</span><span> }
</span><span>183</span><span>184</span><span>
</span><span>187</span><span>
public
</span><span>
function
endContent()
</span><span>188</span><span> {
</span><span>189</span><span> ContentDecorator::
end
();
</span><span>190</span><span> }
</span><span>191</span><span>192</span><span>
</span><span>212</span><span>
public
</span>
function
beginCache(
$id
,
$properties
=<span> [])
</span><span>213</span><span> {
</span><span>214</span>
$properties
[<span>
'</span><span>id</span><span>'
</span>] =
$id
; <span>
</span><span>218</span><span>
if
</span> (
$cache
->getCachedContent() !== <span>false</span><span>) {
</span><span>219</span> $<span>this</span>->endCache();<span>
</span><span>222</span> } <span>
else
</span><span> {
</span><span>223</span><span>
return
</span><span>true</span><span>;
</span><span>224</span><span> }
</span><span>225</span><span> }
</span><span>226</span><span>227</span><span>
</span><span>230</span><span>
public
</span><span>
function
endCache()
</span><span>231</span><span> {
</span><span>232</span><span> FragmentCache::
end
();
</span><span>233</span><span> }
</span><span>234</span><span>235</span><span>
</span><span>238</span><span>
public
</span><span>
function
beginPage()
</span><span>239</span><span> {
</span><span>240</span> ob_start(); <span>
</span><span>244</span><span> }
</span><span>245</span><span>246</span><span>
</span><span>249</span><span>
public
</span><span>
function
endPage()
</span><span>250</span><span> {
</span><span>251</span> $<span>this</span>-><span>trigger(self::EVENT_END_PAGE);
</span><span>252</span> ob_end_flush();<span>