limb3_2007_2:ru:setup_files
Базовые конфигурационные скрипты Limb3 приложений
За время практики разработки приложений, использующих Limb3, была выработана следующая схема базовой конфигурации приложения.
- В директории приложения создается скрипт setup.php, в котором происходят подключения библиотек, объявление констант, настройка include_path по умолчанию и проч. Например:
<?php set_include_path(dirname(__FILE__) . PATH_SEPARATOR . //поддержка удобного подключения проектных скриптов dirname(__FILE__) . '/lib/' . PATH_SEPARATOR . //подразумевается, что Limb3 поставляется в директории lib проекта get_include_path()); //setup.override.php подключается *после* установки include_path, но *до* определения констант if(file_exists(dirname(__FILE__) . '/setup.override.php')) require_once(dirname(__FILE__) . '/setup.override.php'); @define('LIMB_VAR_DIR', dirname(__FILE__) . '/var'); require_once('limb/core/common.inc.php'); ?>
- Как видно из кода выше, в setup.php опционально подключается скрипт setup.override.php, если таковой существует. setup.override.php служит для того, чтобы во время разработки у разработчика была возможность переопределить конфигурационные значения setup.php или установить новые. Например, include_path, чтобы использовать devel версии пакетов Limb3 вместо поставляемых вместе с приложением в директории lib или установка иных значений констант, которые имеют смысл только на время разработки. Пример подобного setup.override.php:
<?php set_time_limit(0); restore_include_path(); set_include_path(dirname(__FILE__) . '/' . PATH_SEPARATOR . '/home/bob/var/dev/limb/3.x/' . PATH_SEPARATOR); @define('USE_PROXY', '192.168.0.20:3128'); @define('LIMB_VAR_DIR', '/tmp/var'); ?>
Важно понимать, что setup.override.php должен игнорироваться системой версионного контроля(svn:ignore), дабы частные установки разработчиков случайным образом не проскользнули в репозиторий.
- HTTP шлюз, к примеру, www/index.php, через который происходит отработка запросов, адресованных приложению(здесь речь идет о стандартном WEB приложении), подключает setup.php:
<?php require_once(dirname(__FILE__) . '/../setup.php'); require_once('src/LimbProjectApplication.class.php'); $application = new LimbProjectApplication(); $application->process(); ?>
Также на тему базовых настроек Limb3 приложений рекомендуем ознакомиться с правилами использования конфигурационных констант в Limb3.
limb3_2007_2/ru/setup_files.txt · Последнее изменение: 2010/11/10 10:02 — 127.0.0.1

Обсуждение