Dal*_*nes 2 typo3 fluid view-helpers
有几个示例可以编写自定义ViewHelper和不同的处理方式。我已经看到了render()和renderStatic的示例(例如,在开发自定义ViewHelper中)。
在24个Fluid Tips中有一个解释,但我不理解,也无法为我弄清楚为什么有2个函数以及应该在哪里使用。
零散的更改(不赞成使用ViewHelpers上的Render方法参数)和各地的零碎信息使在这里很难获得清晰的答案。开发Custom ViewHelper中的示例是否是最新的和最佳实践?
?renderStatic()
首先,renderStatic()是一个静态 PHP方法。这意味着您无权访问实例属性,例如$this->tag,当ViewHelper类是的子类时,这是必需的AbstractTagBasedViewHelper。
的另一个缺点renderStatic()是您无法访问子节点。<f:then>在以下示例中,例如,子节点:
<f:if condition="{variable}">
<f:then>
...
</f:then>
</f:if>
Run Code Online (Sandbox Code Playgroud)
话虽如此,它renderStatic()具有最佳性能,因为它是从已编译的Fluid内部调用的。因此,如果可能,应使用此方法。
?render()
在某些情况下,此方法是更好的选择,或者必须用于特定的用例(请参见上面的说明)。render()方法中实现的逻辑未编译,这会影响缓存的输出。
缺点render()是它的性能。
?摘要/附加说明
renderStatic()如果可以,请使用,(性能)。render(),如果要实现TagBased-视图助手(子类TYPO3Fluid\Fluid\Core\ViewHelper\AbstractTagBasedViewHelper)。render(),如果你需要阅读的子节点。typo3/sysext/fluid/Classes/ViewHelpers/* [ GitHub ]| 归档时间: |
|
| 查看次数: |
204 次 |
| 最近记录: |