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

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


limb2:ru:settings

Конфигурационные настройки Limb

Конфигурационные настройки

Limb использует 2 способа для сохранения конфигурационных параметров:

  1. через константы PHP
  2. через файлы *.ini

Константы PHP

По нашему мнению, константы - наиболее естественный и гибкий способ объявить некоторые глобальные конфигурационные настройки. Обычно Limb использует константы для определения каталогов, параметров БД и некоторых важных глобальных настроек (наподобие разрешения отладочной консоли, отладки шаблонов и т.д.).

Все константы должны быть определены в файле PROJECT_DIR/setup.php, который также включает LIMB_DIR/setup.php. Однако вы можете «переопределить» эти установки в скрипте setup.override.php, который включается первым (если он существует в том же каталоге) всеми скриптами setup.php (в действительности, нет реального переопределения констант, трюк в том, что они определяются первыми).

Гораздо проще показать, чем пытаться объяснить. Вот пример файла setup.php для некоторого проекта:

<?php
 
if (file_exists(dirname(__FILE__) . '/setup.override.php'))
  include_once(dirname(__FILE__) . '/setup.override.php');
 
@define('FOO', 'foo'); //с помощью @ мы устраняем возможные сообщения о попытке переопределения констант
[...прочие константы...]
?>

Теперь, если где-нибудь подключить setup.php, константа FOO будет равна 'foo'.

А вот и setup.override.php:

<?php
 
 
define('FOO', 'bar');
 
?>

Теперь, если подключить setup.php константа FOO будет равна 'bar'.

Этот способ позволяет Вам «переопределять» только некоторые параметры без редактирования setup.php. Также, полезно установить игнорирование setup.override.php для системы контроля версий, так как переопределенные настройки достаточно специфичны.

По умолчанию setup.php содержит достаточно общие установки, и обычно все, что Вам необходимо сделать - это переопределить относящиееся к БД параметры и каталоги. Мы предоставляем прокомментированный файл setup.override.php-example с каждым проектом, основанным на Limb. Вы можете использовать этот файл, как шаблон для переопределения констант.

файлы *.ini

Limb допускает также настройку через файлы *.ini. Эти файлы должны находиться либо в PROJECT_DIR/core/settings, либо в LIMB_DIR/core/settings.

Вам не следует редактировать файлы *.ini, находящиеся в каталоге LIMB_DIR/settings. Вместо этого, Вы можете переопределить их эквиваленты в PROJECT_DIR/settings. Такой способ переопределения компонент используется почти для всех концепций Limb.

Так как Limb предоставляет удобный способ для работы с файлами Ini, они являются подходящим способом для хранения большинства конфигурационных параметров. Файлы Ini компилируются в файлы PHP, накладные расходы на разбор файла минимальны.

Вот пример такого файла:

#ini supports comments like this one
#ini values can be global 
value = 1
#... and ini values can be grouped 
[FOO]
value = 2    
#you can have simple non-indexed arrays
foo[] = 1
foo[] = 2
foo[] = 3
#..and you can have indexed arrays
foo[yo] = 1  
foo[wo] = 2  
#here comes another group of values
[BAR]
bar[] = 1  

Начиная с версии 2.3.1, вы можете также переопределить отдельные файлы ini (помните setup.override.php?). Таким образом, config.override.ini будет использоваться вместо config.ini, если он находится в той же папке.

Практические советы

Некоторые конфигурационные настройки, которые могут быть полезны (значения этих констант лучше изменять в файле setup.override.php) Мы привели все константы, которые что-то включают/выключают к единому виду: они все начинаются со слова ENABLE_.

ENABLE_TREE_CACHE - включить/выключить файловый кеш дерева, по умолчанию true ENABLE_DB_CACHE - включить/выключить кеш для повторяющихся запросов к БД в памяти, по умолчанию true

DB_AUTO_CONSTRAINTS - контролирует, следует ли удалять записи в связанных таблицах(описаны в методах _define_constraints() для конкретной *_db_table). Не советую трогать вообще, это внутренняя константа, по умолчанию false(удалять связанные записи). Крайне примитивный функционал, но вполне пригодный.

ENABLE_TEMPLATE_FORCE_COMPILE - эта константа контролирует, следует ли компилять каждый раз шаблоны. На продукционном сервере должна быть равна false!

ENABLE_DEBUG_TEMPLATE - эта константа не отвечает за отображение времени выполнения, ее основная цель - пометить зоны шаблона специальной разметкой при рендеринге, это очень помогает верстальщику разобраться, в верстке, где что находиться. По умолчанию false. шаблонная система выведет имя шаблона и маленькую ссылку для редактирования шаблона (всего шаблона или только его части). Используйте константу TEMPLATE_EDITOR_PATH для задания пути к вашему редактору html. Например:

define('ENABLE_DEBUG_TEMPLATE', true);
define('TEMPLATE_EDITOR_PATH', 'jedit.bat %s'); 

Замечание: Работает только для IE!

ENABLE_DEBUG_CONSOLE - Для отображения времени выполнения скрипта и лога ошибок/предупреждений/ Поставив ей значение true разработчик должен увидеть popup окно с логом отработки приложения. По умолчанию false.

Обсуждение

Ваш комментарий. Вики-синтаксис разрешён:
     __   ____   ___      __   __  ___
 __ / /  /  _/  / _ \ __ / /  /  |/  /
/ // /  _/ /   / // // // /  / /|_/ / 
\___/  /___/  /____/ \___/  /_/  /_/
 
limb2/ru/settings.txt · Последние изменения: 2010/11/10 10:02 (внешнее изменение)