Введение

Язык сценариев для веб-разработки ColdFusion Markup Language, более известный как CFML, — это язык сценариев для веб-разработки, работающий на виртуальной машине Java (JVM), платформе .NET и Google App Engine. Доступно несколько коммерческих и бесплатных программных реализаций CFML-движков с открытым исходным кодом, включая Adobe ColdFusion, Lucee, New Atlanta BlueDragon (версии для Java и .NET), Railo, Open BlueDragon и другие серверные движки CFML.

Синопсис

В своей простейшей форме, как и многие другие языки веб-скриптинга, CFML расширяет стандартные HTML-файлы командами баз данных, условными операторами, функциями высокоуровневого форматирования и другими элементами для создания веб-приложений. CFML также включает в себя множество других конструкций, в том числе компоненты ColdFusion (CFC) – реализацию объектов в CFML, позволяющую отделять бизнес-логику от представления. CFML можно писать, используя теги или CFScript, который похож на JavaScript (ECMAScript). Страницы в приложении CFML содержат теги и функции CFML на стороне сервера, в дополнение к тегам HTML. Современные приложения CFML обычно также используют CFC, к которым обращаются страницы CFML для выполнения бизнес-логики. Когда веб-браузер запрашивает страницу в приложении ColdFusion, она автоматически предварительно обрабатывается сервером приложений ColdFusion. CFML также может использоваться для генерации других языков, помимо HTML, таких как XML, JavaScript, CSS и т.д. Несмотря на название, CFML не является языком разметки. Он также не является SGML, поскольку некоторые ключевые особенности CFML не позволяют ему соответствовать стандартам SGML. Механизм CFML настроен таким образом, что определенные расширения файлов на сервере (.cfm, .cfc) передаются этому механизму для обработки. В случае движков на основе Java это осуществляется через Java-сервлеты. Механизм CFML обрабатывает только теги и функции CFML, а текст вне этих тегов и функций возвращается на веб-сервер без изменений.

История

Первоначально названный Cold Fusion, программное обеспечение было создано в 1995 году корпорацией Allaire, первоначально расположенной в Миннесоте. Позже компания переехала в Кембридж, штат Массачусетс, а затем в Ньютон, штат Массачусетс, прежде чем была приобретена Macromedia в 2001 году. Таким образом, Allaire Cold Fusion стал Macromedia Cold Fusion. С выпуском версии 4 пробел в названии был удален, и название стало ColdFusion. Adobe приобрела Macromedia в 2005 году. По состоянию на 2023 год разработка ColdFusion продолжается. В 1998 году Алан Уильямсон и его шотландская компания "n ary" начали разработку движка шаблонов для Java, чтобы упростить распространенные задачи программирования. Уильямсон использовал обозначение фигурными скобками вместо тегов, но, увидев пример CFML и то, как он решал аналогичные проблемы (хотя и не на Java) с помощью синтаксиса тегов, он начал разрабатывать то, что в конечном итоге стало BlueDragon – первую Java-реализацию языка CFML. (ColdFusion был написан на C и C++ до версии 6.0, первой версии на основе Java, выпущенной в 2002 году.) New Atlanta лицензировала BlueDragon примерно в 2001 году и сделала его доступным как коммерческий продукт, в конечном итоге создав реализацию CFML для платформы .NET. Open BlueDragon – это ответвление от коммерческого продукта BlueDragon, впервые выпущенное в 2008 году. Движок Railo CFML начал свою работу в 2002 году как студенческий проект и впервые был запущен как коммерческий проект в 2005 году. Railo объявила о переходе движка к открытому исходному коду в 2008 году, а первая версия с открытым исходным кодом была выпущена в 2009 году. 18 июня 2009 года Adobe объявила на конференции CFUnited о создании Консультативного комитета CFML, который должен был направлять и рассматривать изменения в языке CFML. Эта инициатива была прекращена в 2010 году. Группа Google CFML Conventional Wisdom была создана как форум для открытых публичных обсуждений о языке и функциях движка, но ее использование сократилось с 2011 года. В 2012 году был создан Фонд OpenCFML, целью которого является продвижение приложений и платформ CFML с открытым исходным кодом. Бывший ведущий разработчик Railo Майкл Оффнер запустил Lucee, ответвление от Railo, в Лондоне 29 января 2015 года. При поддержке сообщества и членов Ассоциации Lucee, целью проекта является предоставление функциональности CFML с использованием меньшего количества ресурсов, повышение производительности и развитие CFML, выводя его за рамки его первоначальных основ в современную и динамичную платформу веб-программирования.

Функции

Язык разметки ColdFusion включает в себя набор функций для выполнения логических и арифметических операций и манипулирования данными. Код и массивы (ArraySort, ArrayAppend, ArrayDeleteAt) Преобразование (URLEncodedFormat, ToString) Дата и время (LsTimeFormat, DateAdd, DateDiff) Логические операции (IsDefined, IIF) Отображение и форматирование (CJustify, NumberFormat) Динамическая оценка (DE, Evaluate) Расширяемость (CreateObject, ToScript) Работа с изображениями (ImageRotate, ImageAddBorder) Международные функции (SetLocale, GetTimeZoneInfo) Списки (FindOneOf, ListSetAt) Математические функции (Randomize, Sqr) Другие функции (WriteOutput, GetBaseTemplatePath) Запросы (QueryAddColumn, QuerySetCell) Безопасность (Encrypt, Decrypt) Строки (Reverse, HTMLCodeFormat) Структуры (StructKeyExists, StructDelete) Система (GetTickCount, GetTempFile) XML (XMLParse, GetSOAPResponse)