是用CFML编写的所有cfc方法需要输出= false吗?

Hen*_*nry 5 coldfusion cfml

是否output="false"需要写在CFML所有CFC方法?或者只要最外面的来电功能有问题就可以了output="false"吗?

如果我们不添加output="false"任何CFC方法,但我们确保最顶层的调用者在<cfsilent>块内?这样可以吗?

output="false"专为抑制空白?我记得很久以前CFer的说法output="false"有助于防止内存泄漏:神话还是事实?

Nat*_*utz 4

不幸的是,在 Adob​​e ColdFusion 中,output="false"组件级别不会影响每个单独的函数,只会影响构造函数区域。这可能并不重要,因为我想不出一种从构造函数输出任何内容的方法,事实上,即使更改为output="true"似乎也没有什么区别。

我现在(感谢你,亨利)尝试了 的链接函数output="false",你的怀疑是正确的 - 调用函数output="false"会抑制它调用的任何函数的输出。这是 Adob​​e ColdFusion 9.0.1 中的内容。

在组件的初始化周围添加cfsilent将使没有 的组件的输出静音output="false",但我再次认为这没有任何作用。绕过函数调用将使它调用的任何输出静音。

output="false"仅用于空格抑制。您可能会争辩说,向输出缓冲区添加空格会增加每个请求的内存使用量,但我不会真正将其称为泄漏 - 也许如果您有数以万计的组件/函数调用,它可能会导致麻烦。

Output="true"确实有不同的效果,将函数视为<cfoutput>包裹着标签,并#自动评估任何动态事物。