Content deleted Content added
m →ColdFusion Components (CFCs): {{tag}} |
|||
(11 intermediate revisions by 9 users not shown) | |||
Line 13:
| latest preview date =
| typing =
| implementations = [[Adobe ColdFusion]], [[Lucee]], [[Railo]], BlueDragon,
| dialects =
| file ext = .cfm, .cfc
Line 24:
}}
'''ColdFusion Markup Language''', more commonly known as '''CFML''', is a [[server-side scripting|scripting language]] for web development that runs on the [[Java virtual machine]] (JVM), the [[.NET]] framework, and [[Google App Engine]]. Several commercial and [[free and open-source software]] implementations of CFML engines are available, including [[Adobe ColdFusion]], [[Lucee]], New Atlanta BlueDragon ([[Java (programming language)|Java]] and .NET versions), [[Railo]],
== Synopsis ==
Line 37:
Despite the name, CFML is ''not'' a markup language. It is also not [[SGML]], since certain core CFML features prevent it from complying.
The CFML engine is configured in such a way that certain file extensions on the server (.cfm, .cfc) are handed off to the CFML engine for processing. In the case of the Java-based engines this is accomplished via [[Java servlet]]s. The CFML engine only processes CFML tags and functions; it returns text outside of CFML tags and functions to the [[web server]] unchanged.<ref>[http://livedocs.adobe.com/coldfusion/6.1/htmldocs/element4.htm Tags] {{webarchive |url=https://web.archive.org/web/20080324005624/http://livedocs.adobe.com/coldfusion/6.1/htmldocs/element4.htm |date=March 24, 2008}}</ref>
== History ==
Line 51:
Former Railo lead developer Michael Offner launched [[Lucee]], a fork of [[Railo]], in London on January 29, 2015. Backed by community supporters and members of the Lucee Association, the goal of the project is to provide the functionality of CFML using fewer resources, giving better performance and to move CFML past its roots and into a modern and dynamic Web programming platform.
In 2025, CFML was still in use. Lucee will hold a CFML conference, CFCAMP, on May 22-23, 2025.<ref>{{Cite web |last=Spitzer |first=Zac |date=April 1, 2025 |title=CFCAMP 2025, May 22nd & 23rd, Munich, Germany |url=https://dev.lucee.org/t/cfcamp-2025-may-22nd-23rd-munich-germany/14926 |access-date=April 22, 2025}}</ref> The Adobe ColdFusion Summit 2025 is to be held September 21-24, 2025.<ref>{{Cite web |date=April 22, 2025 |title=Adobe ColdFusion Summit 2025 |url=https://cfsummit.adobeevents.com/ |access-date=April 22, 2025}}</ref>
== Syntax ==
Line 115 ⟶ 117:
{| class="wikitable sortable"
|-
!Function
!Reference
!Code
|-
|[[Array data structure|Array]]
Line 175 ⟶ 177:
== ColdFusion Components (CFCs) ==
CFCs provide some (not all) of the typical features and functionality that are provided by [[Object-oriented programming|object-oriented]] (OOP) languages.
To create a CFC:
:Create a file with a .CFC extension (this distinguishes CFCs from ColdFusion templates, which have a .CFM extension).
:Use four tags to create the components, define their functions and [[arguments]], and return a value.
:
:
:
:
CFCs are plain CFML. Within a CFC any CFML tag, function, custom tag, other components, etc. may be used.
CFCs can be used in various ways. If a method contained in a CFC simply needs to be invoked, the
CFCs are created using four tags, saved as .CFC files, and invoked using the
In the example below, component temperature.cfc has a method FtoC which converts temperature from Fahrenheit to Celsius. The test.cfm template invokes the method and converts 212 degrees Fahrenheit and outputs the result.
Line 212 ⟶ 214:
CFCs also form the basis of the ability to create [[web services]] in CFML. A CFC is created in the usual way, and the attribute access="remote" added to any function within the CFC will make that function available to be called as a [[SOAP]]-based web service. The CFML engine auto-generates a [[Wsdl|WSDL]] and creates all the necessary stubs for the web service to function.
== Security updates ==
Adobe releases security patches for ColdFusion as needed, typically in response to identified vulnerabilities. These updates address critical issues such as [[arbitrary code execution]] and security feature bypasses. For instance, on December 23, 2024, Adobe released updates for ColdFusion 2023 and 2021 to resolve a critical vulnerability that could lead to arbitrary file system read.
To stay informed about the latest security updates, users should regularly check Adobe's official ColdFusion security bulletins. Additionally, subscribing to Adobe's security notification service ensures timely alerts about new patches and vulnerabilities. Implementing these updates promptly is crucial to maintaining the security and integrity of ColdFusion applications.
== References ==
Line 217 ⟶ 223:
==External links==
* [https://cfdocs.org/ CFML documentation maintained by the community
* [https://github.com/mhenke/CFML-in-100-minutes/blob/develop/cfml100mins.markdown CFML in 100 minutes — introduction to the basics of the CFML language.]
* [http://learncfinaweek.com/ A community driven training program that teaches the basics of CFML.]
* [http://cfml-slack.herokuapp.com/ CFML Slack team]
* [http://www.cfquickdocs.com/ CFQuickDocs — ColdFusion tags and functions reference.]
* [http://lucee.org/ Lucee]
* [http://openbd.org/ Open BlueDragon]
* [http://www.newatlanta.com/products/bluedragon/product_info/overview.cfm BlueDragon]
* [http://getrailo.com/ Railo]
* [https://groups.google.com/group/cfml-conventional-wisdom CFML Conventional Wisdom Google Group]
* [https://web.archive.org/web/20090204105406/http://www.opencfml.org/ CFML Advisory Committee] (this committee is now defunct)
|