gpt4 book ai didi

coldfusion - 对于CFC中的cfscript函数,默认情况下是否为output = false?

转载 作者:行者123 更新时间:2023-12-04 05:01:33 29 4
gpt4 key购买 nike

我以为CFC在cfscript中定义为函数的方法默认情况下为output = false,但是当我在cfcexplorer.cfc(直接向CFC浏览器)中打开CFC时,它说Output:已启用。

cfcexplorer.cfc的错误?

最佳答案

简短回答:
没关系

除非您从中显式调用writeOutput(),否则cfscript不会输出任何内容。这包括cfscript中的函数以及函数外部的任何cfscript代码。

这与CF标签的语法不同,后者默认情况下至少在标签之间输出空白。在cfscript中,您编写的任何文本都将由CFML引擎编译。在CF标签中,您写入的所有文本都会写入输出缓冲区并发送到浏览器。

详细回答:
与未指定输出属性相同。
cfscript块不输出任何内容。除非包装在cfsilent中,否则任何标签块都将输出空白(如果没有其他内容)。是的,即使cffunctions也可以,但是如果将output属性设置为false,则输出将被丢弃。

彼得·布顿(Peter Boughton)回答的实质是正确的。它既不包装在cfsilent中也不在cfoutput中。禁止输出,但是除非您明确进行输出,否则不会发生。

您始终可以将基于标签的cffunction与脚本结合使用,以充分利用两者。就像是...

<cffunction name="x" output="false" access="package">
<cfargument name="y" type="string" required="false" default="YY" />
<cfscript>
var someValue = y & "something";
writeOutput("test"); // this will not be written
return someValue;
</cfscript>
</cffunction>

这样,您就可以在 cffunction标记上指定输出和访问权限,并允许参数为可选(您无法通过 cfscript函数来实现),然后使用cfscript填充正文,包括var语句和函数return。

当然,对于该函数,如果删除 output属性或将其更改为 true,它将在返回之前输出“ test”。

关于coldfusion - 对于CFC中的cfscript函数,默认情况下是否为output = false?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/978018/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com