Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Adobe ColdFusion
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Features == === PDF generation === ColdFusion can generate [[PDF]] documents using standard HTML (i.e. no additional coding is needed to generate documents for print). CFML authors place HTML and CSS within a pair of cfdocument tags (or new in ColdFusion 11, cfhtmltopdf tags). The generated document can then either be saved to disk or sent to the client's browser. ColdFusion 8 introduced also the cfpdf tag to allow for control over PDF documents including PDF forms, and merging of PDFs. These tags however do not use Adobe's PDF engine but cfdocument uses a combination of the commercial JPedal Java PDF library (maintained by the [[PDF Association]]) and the free and open source Java library [[iText]]. The tool cfhtmltopdf uses an embedded [[WebKit]] implementation.<ref>{{cite web|url=https://helpx.adobe.com/coldfusion/pdf-generation-in-coldfusion.html|title=PDF Generation in ColdFusion|publisher=Adobe|access-date=2017-01-27|archive-date=2017-07-09|archive-url=https://web.archive.org/web/20170709195908/https://helpx.adobe.com/coldfusion/pdf-generation-in-coldfusion.html|url-status=live}}</ref> === ColdFusion Components (Objects) === ColdFusion was originally not an [[object-oriented programming language]] like [[PHP]] versions 3 and below. ColdFusion falls into the category of OO languages that do not support [[multiple inheritance]] (along with Java, Smalltalk, etc.).<ref>{{cite web|url=http://www.nictunney.com/index.cfm?mode=entry&entry=AE4A4A21-65B8-F252-775A757FC01D0C30|title=Ramblings of an Internet MoFo|access-date=2008-04-16|archive-date=2008-12-20|archive-url=https://web.archive.org/web/20081220071809/http://www.nictunney.com/index.cfm?mode=entry&entry=AE4A4A21-65B8-F252-775A757FC01D0C30|url-status=live}}</ref> With the MX release (6+), ColdFusion introduced basic OO functionality with the ''component'' language construct which resembles classes in OO languages. Each ''component'' may contain any number of properties and methods. One component may also extend another ([[Inheritance (object-oriented programming)|Inheritance]]). Components only support single inheritance. Object handling feature set and performance enhancing has occurred with subsequent releases. With the release of ColdFusion 8, Java-style [[interface (programming)|interfaces]] are supported. ColdFusion components use the file extension ''cfc'' to differentiate them from ColdFusion templates (.cfm). ==== Remoting ==== Component methods may be made available as web services with no additional coding and configuration. All that is required is for a method's access to be declared 'remote'. ColdFusion automatically generates a [[Web Services Description Language|WSDL]] at the URL for the component in this manner: <nowiki>http://path/to/components/Component.cfc?wsdl</nowiki>. Aside from SOAP, the services are offered in Flash Remoting binary format. Methods which are declared remote may also be invoked via an HTTP GET or POST request. Consider the GET request as shown. <br /> <nowiki>http://path/to/components/Component.cfc?method=search&query=your+query&mode=strict</nowiki> This will invoke the component's search function, passing "your query" and "strict" as arguments. This type of invocation is well-suited for [[Ajax (programming)|Ajax]]-enabled applications. ColdFusion 8 introduced the ability to serialize ColdFusion data structures to [[JSON]] for consumption on the client. The ColdFusion server will automatically generate documentation for a component if you navigate to its URL and insert the appropriate code within the component's declarations. This is an application of component introspection, available to developers of ColdFusion components. Access to a component's documentation requires a password. A developer can view the documentation for all components known to the ColdFusion server by navigating to the ColdFusion URL. This interface resembles the [[Javadoc]] HTML documentation for Java classes. === Custom Tags === ColdFusion provides several ways to implement custom [[markup language]] tags, i.e. those not included in the core ColdFusion language. These are especially useful for providing a familiar interface for web designers and content authors familiar with HTML but not [[imperative programming]]. The traditional and most common way is using CFML. A standard CFML page can be interpreted as a tag, with the tag name corresponding to the file name prefixed with "cf_". For example, the file IMAP.cfm can be used as the tag "cf_imap". Attributes used within the tag are available in the ATTRIBUTES scope of the tag implementation page. CFML pages are accessible in the same directory as the calling page, via a special directory in the ColdFusion web application, or via a CFIMPORT tag in the calling page. The latter method does not necessarily require the "cf_" prefix for the tag name. A second way is the developments of CFX tags using Java or C++. CFX tags are prefixed with "cfx_", for example "cfx_imap". Tags are added to the ColdFusion runtime environment using the ColdFusion administrator, where JAR or DLL files are registered as custom tags. Finally, ColdFusion supports JSP tag libraries from the JSP 2.0 language specification. JSP tags are included in CFML pages using the CFIMPORT tag.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)