我被迫/付钱参与Legacy ColdFusion项目(我是一名普通的C#程序员),而CF的一个特点就是他们拥有自己的标签,应该与HTML混合(坏的决定,IMO)因为即使是"以cf规则开始",它也只会让我感到困惑.
除此之外,他们还有#字符表示CF"领域"的开头非常相似<ASP.Net中的%或Spark中的$或等价物.但是只有在标签内部才能解析.
我的问题是:在文件开头打开一个标签并关闭它是否有问题,反对仅在我要使用#字符时使用?
为了说明这里的一些代码:
<cfoutput>
Some text #SomeVar# Some text.<br />
Some Images some other things #AnotherVar#
</cfoutput>
Run Code Online (Sandbox Code Playgroud)
反对:
Some text <cfoutput>#SomeVar#</cfoutput> Some text.<br/>
Some Images some other things <cfoutput>#AnotherVar#</cfoutput>
Run Code Online (Sandbox Code Playgroud)
当然,这对于小内容来说可能看起来微不足道,但我在谈论一整页.
根据页面内容,两者都可以.将所有页面放在CFOUTPUT标记内可能会对性能产生影响(次要),因为CFML引擎需要解析并扫描标记内容以获取可执行代码.在CFOUTPUT标记之外,CFML引擎可以将页面忽略为静态内容.
如果您有使用井号的CSS和HTML代码(例如命名锚点或Hex颜色代码),则需要在CFOUTPUT中转义所有井号(通过添加第二个,如"##").因此,我一般只把CFOUTPUT放在代码我特别想要CF引擎运行.
也就是说,CFML引擎在不断打开和关闭CFOUTPUT时会给性能带来一些损失.如果你循环遍历内容,将CFOUTPUT放在整个循环中,而不是在循环的每次迭代中打开和关闭它.
此外,如果您在了解哪些代码是CFML以及什么不是CFML时遇到问题,您可能希望获得更好的CFML IDE/IDE编辑器.它对标签进行颜色编码,让您立即看到CFML和HTML标签之间的区别.它是开源的.
归档时间: |
|
查看次数: |
2339 次 |
最近记录: |