Unfortunately, in Adobe ColdFusion, output="false"
at the component level does not affect each individual function, just the constructor area. This may not even matter because I can't think of a way to output anything from the constructor, and indeed, even changing to output="true"
seems to make no difference.
I have now (thanks to you, Henry) experimented with chaining functions with output="false"
, and your suspicions are right - a calling function with output="false"
will suppress the output from any function it calls. This was in Adobe ColdFusion 9.0.1.
Adding a cfsilent
around the initialization of a component will mute output from the component without an output="false"
, but again I don't think that does anything. Putting around a function call will mute any output from anything it calls.
output="false"
is solely for whitespace suppression. You could argue that adding whitespace to the output buffer would increase memory usage, per request, but I wouldn't really call it a leak - perhaps if you have tens of thousands of component/function calls, it could cause trouble.
Output="true"
does have a different effect, treating a function as if it has <cfoutput>
tags wrapped around it, and evaluating any #
dynamic things automatically.