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.
При иницилизации из фабрик передаются локаторы (см. пакет пакета 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, а далее по всем пакетам, инсталлированным для данного приложения. То есть звездочка «*» используется в качестве указания на lmbPackagesFileLocations. Локациии разделены точкой с запятой.
К каждому из этих путей будет применен также специальный суффикс. Для сервисов это будет /src/services, для ini и conf файлов /src/settings. То есть на самом деле файлы, например, сервисов будут искаться в следующих каталогах:
- dirname(FILE).'/src/services/';
- LPKG_CMS_CORE_DIR . '/src/services/';
- далее в остальных пакетах в папках '/src/services/'.

Обсуждение