I agree that CFCs, as a general rule, should not directly output content. I use CFCs for my backend logic and data processing. That said, I do use CFCs occasionally to generate content usually within a <cfsavecontent> tag. I use this approach to 'cache' content that changes infrequently and store the content in a database prior to returning the content. I use the cfc to check the existence of the cached content in the database and return the cached content if it has not expired. If the content does not exist or has expired, I then re-generate the content, store it, then return it. I find CFCs are extremely useful in situations like this.
I was hoping to hear that CFMX 6.1 would allow instantiated objects in the client scope. How useful would that be? I know you can use them in the session scope, but session scopes run the risk of colliding with other session if you forget to use <cflock>. I've heard that with CFMX you no longer need to lock session scopes. Thanks - Tom -----Original Message----- From: S.Isaac Dealey [mailto:[EMAIL PROTECTED] Sent: Wednesday, August 20, 2003 9:09 AM To: [EMAIL PROTECTED] Subject: Re: CFCs CFMX 6.1 > In Aug's CF Dev Journal, Ben Forta introduces CFMX 6.1 and > mentions that > "CFCs can now safely be placed in a variety of scopes" but > does not > mention what those scopes are. Does anyone know what > modifications have > been made to CFCs with the new release of CFMX 6.1? > Thanks - > Tom Schreck Iirc he's just referring to them fixing the page context(?) bug. You can output content directly from a CFC stored in the application or session scope. I'm with Sean Corfield and other OO folks on that one tho -- I don't think display should be output directly to the page within a function or cfc method (now that I have a better understanding of what they were talking about). Not because of any OO principals but just because it breaks the metaphor of functions. And the default output="true" _should_ have been false to make the default comparable to CF5 UDF's. It drove me insane the first time I ran into it trying to figure out why I couldn't get <a href="#myfunction()#"> to work because it was inserting white space into the output before the function call, but not with <cfset myvar = myfunction()> ... that's what I mean by breaking the metaphor. You can use writeoutput() to do the same thing in a CF5 UDF but it has to be explicit and even then I don't recommend it for the same reason. s. isaac dealey 972-490-6624 team macromedia volunteer http://www.macromedia.com/go/team chief architect, tapestry cms http://products.turnkey.to onTap is open source http://www.turnkey.to/ontap ----------------------------------------------- To post, send email to [EMAIL PROTECTED] To unsubscribe: Send UNSUBSCRIBE to [EMAIL PROTECTED] To subscribe / unsubscribe: http://www.dfwcfug.org ----------------------------------------------- To post, send email to [EMAIL PROTECTED] To unsubscribe: Send UNSUBSCRIBE to [EMAIL PROTECTED] To subscribe / unsubscribe: http://www.dfwcfug.org
