Платформа ColdBox

редактировать
Платформа ColdBox
ColdBoxLogo.png
Автор (ы) Ortus Solutions, Corp
Первоначальный выпуск15 июня 2006 г. (2006-06-15)
Стабильный выпуск 6.0.0 / 2020-08-21
Репозиторий Репозиторий ColdBox
Написано наCFML, Java
Тип Структура веб-приложений
Лицензия Лицензия Apache v2
Веб-сайтColdBox.org
  • Портал бесплатного программного обеспечения с открытым исходным кодом

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

Содержание
  • 1 История
  • 2 Платформы
  • 3 Использование
  • 4 Обзор
    • 4.1 Внутренние структуры
    • 4.2 Контроллеры
    • 4.3 URL Сопоставления
    • 4.4 RESTful URL-адреса
    • 4.5 Поддержка Ajax
    • 4.6 Поддержка SOAP-Adobe Flex / Air
  • 5 Ссылки на документацию
  • 6 Внешние ссылки
  • 7 Ссылки
История
Платформы

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

Поддерживаются плагины IDE для Visual Studio Code, Sublime Text, Eclipse IDE и Adobe ColdFusion Builder.

Использование

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

Обзор

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

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

Внутренние платформы

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

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

Контроллеры

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

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

1 компонент {2 3 // Использование внедрения зависимостей для виртуальных служб на основе гибернации 4 property name = "userService" inject = "entityservice: User"; 5 6 / ** 7 * Немедленный возврат HTML 8 * / 9 function sayHello (event) {10 return "hello"; 11} 12 13 / ** 14 * Немедленное возвращение JSON из памятки объекта ORM 15 * / 16 function sayHello (event) {17 return userService.get (rc.id).getMemento (); 18} 19 20 / ** 21 * Возвращать содержимое в нескольких форматах 22 * ​​/ 23 список функций (событие) {24 prc.data = userService.list (); 25 // выводим всех пользователей в формате json 26 event.renderData (data = prc.data, sizes = "json, xml, pdf, html"); 27} 28}

Отображение URL-адресов

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

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

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

", 200, "Как дела, чувак!"); 34 35 // Встроенные ответы на закрытие 36 route ("/ luis2 /: lname") 37.toResponse (function (event, rc, prc) {38 return "

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

"; 39}); 40 41 // Просмотры Нет событий 42 route ("contactus") 43.as ("contactUs") 44.toView ("simpleView"); 45 46 // Именованные маршруты 47 route (pattern = "/ routeRunner /: id /: name", name = "routeRunner") 48.to ("main.returnTest"); 49 50 // Групповая маршрутизация 51 группа ({pattern = "/ runAWNsync", handler = "utilities.AWNsync"}, функция (параметры) {52 route ('/: user_id') 53.withAction ({get = "runAWNsync", options = "returnOptions"}) 54.end (); 55}); 56 57 // Действия RESTFul 58 route ("/ health_check") 59.withAction ({get = "runCheck", options = "returnOptions"}) 60.to ("utilities.HealthCheck");

URL-адреса RESTful

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

http://api.coldbox.org/rest/user/luis.json http://api.coldbox.org/rest/user/ luis.xml http://api.coldbox.org/rest/user/luis.pdf http://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.

Ссылки на документацию
Внешние ссылки
Ссылки
Последняя правка сделана 2021-05-15 14:15:29
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте