Платформа ColdBox - ColdBox Platform

Платформа ColdBox
ColdBoxLogo.png
Оригинальный автор (ы)Ortus Solutions, Corp
изначальный выпуск15 июня 2006 г. (2006-06-15)
Стабильный выпуск
6.0.0[1] / 2020-08-21[±]
РепозиторийРепозиторий ColdBox
Написано вCFML, Ява
ТипФреймворк веб-приложений
ЛицензияЛицензия Apache v2
Интернет сайтColdBox.org

ColdBox является Открытый исходный код, на основе соглашений, модульная каркас веб-приложений предназначен для строительства корпоративные приложения с участием CFML с помощью Иерархический MVC подход. ColdBox использует Соглашение важнее конфигурации и стремится к простоте, быстрому развитию. Он использует Модель-представление-контроллер, Внедрение зависимости, Модульное тестирование, Аспектно-ориентированное программирование архитектурные образцы. ColdBox позволяет разрабатывать автономные модули, которые могут совместно использоваться приложениями. ColdBox - это активный и хорошо документированный фреймворк CFML.[2]

История

Платформы

ColdBox поддерживается Люси (Популярный движок CFML с открытым исходным кодом) и Adobe ColdFusion серверы приложений.

Он поддерживает плагины IDE для, Код Visual Studio, Возвышенный текст, Eclipse IDE и Adobe ColdFusion Builder.

Применение

Ниже приведен список некоторых известных пользователей платформы Coldbox.[3]

Обзор

Атрибуты высокого уровня ColdBox:

  • An HMVC веб-фреймворк для Холодный синтез Платформа.
  • Модульная платформа разработки предоставлять HMVC архитектурные образцы
  • Соглашения по конфигурации (без XML)
  • Интегрируется с Спящий режим ColdFusion ORM
  • Предлагает последовательную структуру, направленную на уменьшение путаницы и легкость обучения
  • Упорство слои абстракции (кеширование)
  • Встроенная библиотека журналов
  • Встроенная инъекция зависимостей и возможности АОП
  • Языки, специфичные для внутреннего домена, для определения кэширования, DI / AOP, ведения журнала и фиксации
  • Возможность проводить модульное и интеграционное тестирование
  • Аякс поддержка, которую легко расширять и настраивать
  • RESTful и МЫЛО поддержка веб-сервисов[4]
  • Интеграция и мониторинг Adobe Flex / Air
  • Предоставляет возможности для нескольких сред разработки
  • Подробная документация
  • Встроенная интеграция с Java CompletableFuture API для поддержки будущего и обещания.

Внутренние рамки

Платформа ColdBox состоит из трех независимых фреймворков:

  • LogBox - Библиотека журналов
  • WireBox - Внедрение зависимостей и библиотека АОП
  • CacheBox - Механизм кеширования и агрегатор
  • ColdBox MVC - Веб-фреймворк на основе соглашений MVC

Контроллеры

ColdBox - это среда, основанная на соглашениях, которая запрограммирована на CFML, в отличие от других сред CFML MVC, которые используют декларативную логику XML для своих контроллеров.

Ниже приведен пример контроллера:

 1 составная часть{ 2  3 	// Использование внедрения зависимостей для виртуальных сервисов на основе гибернации 4 	свойство имя="userService" вводить="entityservice: Пользователь"; 5 	 6 	/** 7 * Немедленный возврат HTML 8 	*/ 9 	функция скажи привет(мероприятие){10 	 	вернуть "Здравствуйте";11 	}12 13 	/**14 * Немедленный возврат JSON из памятки объекта ORM15 	*/16 	функция скажи привет(мероприятие){17 	 	вернуть userService.получить( rc.мне бы ).getMemento();18 	}19 	20 	/**21 * Возвращать контент в нескольких форматах22 	*/23 	функция список(мероприятие){24 		prc.данные = userService.список();25 	 	// выводим всех пользователей в формате json26 		мероприятие.renderData( данные=prc.данные, форматы="json, xml, pdf, html" );27 	}28 }

Сопоставления URL-адресов

ColdBox поддерживает сопоставление URL-адресов и маршрутизацию в стиле Rails, но адаптирован для ColdFusion. Он также поддерживает создание маршрутизации RESTful:

 1 // Ресурсы  2 ресурс( "фотографии" ); 3  4 // Вложенные ресурсы 5 Ресурсы( 6 	ресурс 	= "агенты", 7 	шаблон 	= "/ сайты /: идентификатор / агенты" 8 ); 9 10 // Перенаправления11 маршрут( "/ oldRoute" )12 	.toRedirect( "/ main / redirectTest" );13 14 // Прямая маршрутизация15 маршрут( "/ рендеринг /: формат" ).к( "actionRendering.index" );16 17 // С Regex18 маршрут( "post /: postID-regex: ([a-zA-Z] +?) /: userID-alpha / regex: (xml | json)» )19 	.к( "ehGeneral.dumpRC" );20 21 // маршрутизация поддоменов22 маршрут( "/" )23 	.withDomain( ": username.forgebox.dev" )24 	.к( "subdomain.show" );25 26 // Ответы + Условия27 маршрут( "/ ff" )28 	.withCondition( функция(){29 		вернуть ( Findnocase( "Fire Fox", cgi.HTTP_USER_AGENT ) ? правда : ложный );30 	} )31 	.toResponse( "Привет, FireFox" );32 маршрут( "/ luis /: lname" )33 	.toResponse( "

Привет, Луис {lname}, как дела {ты}

"
, 200, "Что за чувак!" );34 35 // Встроенные ответы закрытия36 маршрут( "/ luis2 /: lname" )37 .toResponse( функция( мероприятие, rc, prc ){38 вернуть "

Привет из страны закрытия: # arguments.rc.lname #

"
;39 } );40 41 // Не просматривает событий42 маршрут( "свяжитесь с нами" )43 .так как( "свяжитесь с нами")44 .смотреть( "simpleView" );45 46 // Именованные маршруты47 маршрут( шаблон="/ routeRunner /: id /: name", имя="routeRunner" )48 .к( "main.returnTest" );49 50 // Групповая маршрутизация51 группа( { шаблон="/ runAWNsync", обработчик="утилиты.AWNsync" }, функция( опции ){52 маршрут( '/:Логин пользователя' )53 .withAction( { получить = "runAWNsync", опции = "returnOptions" } )54 .конец();55 } );56 57 // RESTFul Действия58 маршрут( "/проверка состояния здоровья" )59 .withAction( { получить = "runCheck", опции = "returnOptions" } )60 .к( "утилиты.HealthCheck" );

URL-адреса RESTful

ColdBox позволяет легко создавать URL-адреса RESTful с помощью сопоставлений URL-адресов и обнаружения расширений. Изначально ColdBox может обнаруживать любое расширение при предоставлении ресурса URI:

http://api.coldbox.org/rest/user/luis.jsonhttp://api.coldbox.org/rest/user/luis.xmlhttp://api.coldbox.org/rest/user/luis.pdfhttp: //api.coldbox.org/rest/user/luis.yml

Это позволяет обнаруживать такие расширения, обеспечивать безопасность вокруг них и настраивать расширения.

Поддержка Ajax

ColdBox поддерживает все платформы JavaScript, которые предоставляют возможности Ajax. Он также предоставляет функцию автоматической сортировки для рендеринга любого объекта в следующие форматы изначально: XML, WDDX, JSON, JSONP, TEXT, PDF, CUSTOM.

Поддержка SOAP-Adobe Flex / Air

ColdBox предлагает поддержку для создания, мониторинга и разработки веб-сервисов SOAP и удаленных компонентов Flex / Air. Это позволяет использовать одну парадигму разработки для нескольких интерфейсов GUI.

Ссылки на документацию

внешние ссылки

использованная литература

  1. ^ «Версии платформы ColdBox». forgebox.io. Получено 2020-08-21.
  2. ^ Фреймворк ColdFusion MVC
  3. ^ http://www.ortussolutions.com/products/coldbox#overview
  4. ^ Как создать службу RESTful в ColdFusion