====== lmbWebAppTools ====== **lmbWebAppTools ** - базовый набор инструментов пакета WEB_APP. Добавляется в тулкит по-умолчанию. lmbWebAppTools содержит методы для получения самых базовых для web-приложения объектов, например: * getRequest() - возвращает объект Запроса к системе, * getResponse() - возвращает объект Ответа системы, * getView() - возвращает текущий [[View]], * getDispatchedRequest() - возвращает [[lmbDispatchedRequest]], содержащий текущий сервис и действие. * и некоторые другие. Естественно, что кроме getter-ов, есть и setter-ы, то есть setDispatchedRequest(), setView() и т.д. ===== Создание объектов класса lmbService, lmbIni, lmbConf ===== lmbWebAppTools содержит фабричные методы для создания сервисов и других объектов, содержащих конфигурационные данные: * createService($service_file_alias). * createIni($ini_file_alias). * createConf($conf_file_alias). Создание этих объектов происходит при помощи фабрик [[lmbServiceFactory]], [[lmbIniFactory]] и [[lmbConfFactory]] соответственно. Фабрики инициализуются тут же - в классе lmbWebAppTools. При иницилизации из фабрик передаются локаторы (см. пакет [[limb3_2007_2:ru:packages:file_schema|пакета FILE_SCHEMA]]). В конструтор локаторов передается объект списка локаций. Эти списки локаций создаются на основе констант LIMB_SERVICES_INCLUDE_PATH, LIMB_INI_INCLUDE_PATH (для поиска ini-файлов), LIMB_CONF_INCLUDE_PATH (для поиска conf-файлов). Например, в файле setup.php приложения эти константы могут быть определены следующим образом: define('LIMB_SERVICES_INCLUDE_PATH', dirname(__FILE__) . ';'. LPKG_CMS_CORE_DIR . ';*'); define('LIMB_CONF_INCLUDE_PATH', dirname(__FILE__)); define('LIMB_INI_INCLUDE_PATH', dirname(__FILE__) . ';'. LPKG_CMS_CORE_DIR . ';*'); Поясним, что это означает. Это означает, что базовая директория для поиска, например, файлов сервисов - это текущая директория, далее поиск ведется в LPKG_CMS_CORE_DIR, а далее по всем пакетам, инсталлированным для данного приложения. То есть звездочка "*" используется в качестве указания на [[limb3_2007_2:ru:packages:file_schema:lmbPackagesFileLocations|lmbPackagesFileLocations]]. Локациии разделены точкой с запятой. К каждому из этих путей будет применен также специальный суффикс. Для сервисов это будет /src/services, для ini и conf файлов /src/settings. То есть на самом деле файлы, например, сервисов будут искаться в следующих каталогах: * dirname(__FILE__).'/src/services/'; * LPKG_CMS_CORE_DIR . '/src/services/'; * далее в остальных пакетах в папках '/src/services/'.