Инструменты пользователя

Инструменты сайта


limb3_2007_2:ru:packages:web_app:lmb_web_app_tools

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/'.

Обсуждение

Ваш комментарий. Вики-синтаксис разрешён:
  _   __   ___    ____  _      __   ____
 | | / /  / _ |  / __/ | | /| / /  / __/
 | |/ /  / __ | / _/   | |/ |/ /  / _/  
 |___/  /_/ |_|/_/     |__/|__/  /_/
 
limb3_2007_2/ru/packages/web_app/lmb_web_app_tools.txt · Последнее изменение: 2010/11/10 10:02 — 127.0.0.1