Очень большое количество редко меняющихся настроек поведения системы вынесено в конфигурации. Конфигурация - это текстовый блок, состоящих из записей вида:
. На одной строке может быть только одна такая запись, символ # в начале строки означает комментарий.Конфигурации вводятся либо в текстовых
- файлах (опции подключения к БД, базовые настройки), либо в редакторах конфигурации, сохраняясь в базе данных.В значениях параметров конфигурации возможна подстановка ранее указанных значений с помощью подстановок
. Рассмотрим пример подстановки.# определение значения howYou=how you # использование подстановки some.kind.of.config.record=Thats {@howYou} should use macro!
Т.е. при такой конфигурации при взятии значения
получаем в результате строку "Thats how you should use macro!". Подставляемое значение должно быть обязательно определено ранее подстановки.После разбора конфигурация используется системой как набор пар ключ - значение, в котором порядок не определён. При необходимости указания порядка в ключе вводятся дополнительные числовые индексы.
Например:
object.1.id=1 object.1.title=Title1 object.2.id=2 object.2.title=Title2
При большом количестве подобных записей ведение индекса может быть затруднительным, особенно при необходимости изменения номеров записей. В этом случе индекс можно вынести в отдельную переменную, увеличивая его с помощью макроса
. Далее приведена идентичная конфигурация, индексы в которой выведены в переменную.index=1 object.{@index}.id=1 object.{@index}.title=Title1 object.{@inc:index}.id=2 object.{@index}.title=Title2
Помимо присвоения параметр конфигурации можно приклеивать к уже существующему под таким ключём значению. Для этого используется оператор
. Например:key=1 key+=,2 key+=,3
В этом случе под ключом
будет храниться строка "1,2,3".Склеивание помогает разбить длинную строку конфигурации на несколько более читаемых. Например:
# дата рожд., с.-н. пасп., д.в. пасп., кем выд. пасп, адрес проп., тел. гор, тел. сот, адрес(а) усл., перс. данные bgbilling:creator.importParameters=73,74,75,76,77,78,14,12,115 # ИНН, КПП, ФИО руководителя, полное название, должность рук.-ля, E-Mail(ы) bgbilling:creator.importParameters+=,248,249, 252, 428, 429, 15
Также оно полезно при объединении нескольких конфигураций, позволяя создать общую объединённую переменную.