Автор (ы) | 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.
Поддерживается ColdBox на серверах приложений Lucee (популярный механизм CFML с открытым исходным кодом) и Adobe ColdFusion.
Поддерживаются плагины IDE для Visual Studio Code, Sublime Text, Eclipse IDE и Adobe ColdFusion Builder.
Ниже приводится список некоторых известных пользователей платформы Coldbox.
Атрибуты высокого уровня ColdBox:
Платформа ColdBox состоит из трех независимых платформ:
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}
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");
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
Он позволяет обнаруживать такие расширения, безопасность вокруг них и возможность настраивать расширения.
ColdBox поддерживает все платформы JavaScript, которые предоставляют возможности Ajax. Он также предоставляет функцию автоматической сортировки для рендеринга любого объекта в следующие форматы изначально: XML, WDDX, JSON, JSONP, TEXT, PDF, CUSTOM.
ColdBox предлагает поддержку для создания, мониторинга и разработки веб-сервисов SOAP и удаленных компонентов Flex / Air. Это позволяет использовать одну парадигму разработки для нескольких интерфейсов GUI.