====== lmbWebAppTools ======
**lmbWebAppTools ** - базовый набор инструментов пакета WEB_APP. Добавляется в тулкит автоматически при включении файла limb/web_app/common.inc.php
lmbWebAppTools содержит методы для получения самых базовых для web-приложения объектов, например:
* **getRequest()** - возвращает объект Запроса к системе
* **getResponse()** - возвращает объект Ответа системы
* **getSession()** - возвращает объект Сессии (см. [[session|работа с сессией]])
* **getView()** - возвращает текущий [[View|View]]
* **getDispatchedController()** - возвращает dispatched controller, то есть текущий контроллер, определенный в результате [[request_dispatching|разбора Запроса]]
* **getFlashBox()** - возвращает объект flash_box, который хранит сообщения приложения к пользователю (см. [[flash_box|использование flash box]])
* **getRoutes()** - возвращает объект класса [[lmb_routes|lmbRoutes]], который используется в [[request_dispatching|разборе запроса]] и при составлении url-ов на основе так называемых маршрутов.
Кроме getter-ов, **есть соответствующие setter-ы**, то есть setDispatchedRequest(), setView() и т.д.
Также есть набор служебных методов:
* **createController($controller_name)** - получает имя контроллера в under_scores и создает объект контроллера. Например, news -> new NewsContoller(). Файл с классом контроллера ищется на основе путей, указанных константой LIMB_CONTROLLERS_INCLUDE_PATH (см. [[limb3:ru:constants|Использование констант для настройки системных параметров]])
* **getRoutesUrl($params = array(), $route_name = ' ', $skip_controller = false)** - по сути, алиас для метода [[lmb_routes|lmbRoutes]] :: **toUrl()**, который позволяет сформировать url на основе параметров и маршрута. Обратим внимание, что парамет controller с именем текущего контроллера автоматически добавляется в $params. Параметр $skip_controller используется, чтобы отменить это поведение.
* **redirect($params_or_url = array(), $route_url = null, $append = '')** - фактически - алиас для метода lmbHTTPResponse :: redirect($url) с тем отличием, что если в качестве первого аргумента указан массив - автоматически вызывает метод getRoutesUrl() для формирования пути по марштруту, например:
lmbToolkit :: instance()->redirect(array('action' => 'archive', 'id' => $news_id), 'news_archive_route');
lmbToolkit :: instance()->redirect('/news/archive/' . $news_id);
Параметр $append позволяет добавить к url-у какое-либо окончание:
lmbToolkit :: instance()->redirect(array('action' => 'archive', 'id' => $news_id), 'news_archive_route', '?is_approved = true');
// получим редикт на страницу с например таким адресом /news/archive/102?is_approved=true
* **flashError($message)** - добавляет ошибку во flash_box
* **flashMessage($message)** - добавляет обычно сообщение во flash_box