====== Пакет WEB_APP ====== WEB_APP пакет является как бы собирающим пакетом для многих низкоуровневых Limb3 пакетов, таких как CORE, DBAL, VIEW, NET, TOOLKIT и др. При помощи WEB_APP пакета создаются web-приложения на базе Limb3, в которых применяется паттерн MVC (Model-View-Controller). Некоторые компоненты, например, контроллер, может вам напомнить Rails, если вы конечно знакомы с этим фреймворком. Данное описание WEB_APP пакета расчитано на достаточно опытных разработчиков, которые знакомы с базовыми паттернами проектирования, такими как MVC, Singleton, Factory, Decorator, FilterChain и другими. Также мы рассчитываем, что вы ознакомились с [[limb3:ru:tutorials:shop|примером реализации электронного магазина при помощи Limb3]], или же вы имеете опыт разработки с применением других MVC-фреймворков. ===== Скелет приложения ===== [[limb3:ru:packages:web_app:app_installation|Создание веб-приложения из скелета]] ===== Архитектура ===== * **Общая информация** * [[.web_app:main_components|Общая организация пакета WEB_APP. Наиболее значимые компоненты]] * **Организация контроллера (Controller)** * [[.web_app:controller|Ключевые понятия контроллера]] * [[.web_app:application_workflow|Схема типичного Limb3 web-приложения, выполненого при помощи пакета WEB_APP]] * [[.web_app:filter_chain|Использование цепочки фильтров для организации Front-Controller]] * [[.web_app:request_dispatching|Разбор запроса.]] * [[.web_app:lmb_controller|Класс lmbController]] * **Организация отображения (View)** * [[.web_app:view|Общая схема организация отображения (View). Pull view Vs Push view]] * [[.web_app:template_engines|Шаблонизатор WACT. Его роль в Limb3. Возможность использования других шаблонизаторов, кроме WACT]] * **Прочие подсистемы** * [[.web_app:lmb_web_app_tools|lmbWebAppTools ]] - инструментарий (tools) пакета WEB_APP * [[.web_app:validation|Валидация данных]] * [[.web_app:flash_box|Передача произвольных сообщений пользователям. Flashbox.]] * [[.web_app:session|Работа с сессией]] * [[.web_app:cookie|Работа с cookie]] ===== Некоторые моменты использования пакета WEB_APP ===== * **Работа с формами** * [[.web_app:form_processing|Работа с формами. Шаблоны форм, отображение ошибок валидации.]]. * Многостраничные формы (визарды) * Вывод и заполнение матриц из checkbox-ов. * **Мультиязычность и интернационализация** * [[.web_app:multilanguage|Советы по созданию мультиязычных сайтов]]