当进行开始调用但 end 标记丢失时,如何为Twig扩展(函数)抛出异常?
故事:
我跟着this guide进行语法高亮,js验证以及PHPStorm的knockout数据绑定属性中的自动完成。不幸的是,当我使用脚本模板时,这不起作用。相反,它只是将data-bind
属性的值显示为简单的字符串:
<script type="text/html" id="my-template">
<div data-bind="
text : someVar,
css : {
'some-class' : myCondition,
'some-other-class' : myOtherCondition
}
"></div>
</script>
所以我写了一个小的Twig扩展来简化我与PHPStorm和knockoutjs-templates的工作。
该扩展程序有两个功能:一个用于打开<script>
标记,另一个用于关闭http://pastebin.com/3Qq0JnyB:
{{ script_start('my-id') }}
<div data-bind="
text : someVar,
css : {
'some-class' : myCondition,
'some-other-class' : myOtherCondition
}
"></div>
{{ script_end() }}
效果很好。我突然回过头来。耶!
当我在当前范围内没有进行script_end
调用时,从代码中获得一点点(通过抛出异常)会更好。