Конфигурационный метод

Если в файле определен метод conf,он выполняется первым, до auto, и задает важные системные параметры:
·файлы, описывающие кодировки символов;  
·ограничение на размер HTTP-POST-запроса;  
·ограничение на размер загружаемых файлов   [3.4.5];  
·ограничения на число итераций в циклах и глубину рекурсии   [3.4.5];  
·сервер или программу отправки почты;  
·SQL-драйверы и их параметры;  
·таблицу соответствия расширения имени файла и его MIME-типа.  

Рекомендуется поместить этот метод в конфигурационный файл.

Определение метода:
@conf[filespec]
filespec
- полное имя файла, содержащего метод.

Всегда доступна и не нуждается в загрузке файла кодировка 
UTF-8, являющаяся для Parser кодировкой по умолчанию. Чтобы сделать доступными для использования Parser другие кодировки, необходимо указать файлы, их описывающие. Делается это так:
$CHARSETS[
   $.windows-1251[/полный/путь/к/windows-1251.cfg]
   …
]
См. «Описание формата файла, описывающего кодировку».

$LIMITS[
#Максимальный размер POST-данных, по умолчанию - 10 МБ:
   $.post_max_size(10*0x400*0x400)
#Максимальный размер загружаемых в память файлов, по умолчанию - 512 МБ:
   $.
max_file_size(512*0x400*0x400)
#Максимальное число итераций в циклах, по умолчанию
 - 20000:
   $.max_loop(20000)
#Максимальная глубина рекурсии, по умолчанию
 - 1000:
   $.max_recursion(1000)
#Время ожидания доступности файла для блокировки чтения или записи, по умолчанию
 - 9,5 сек.:
   
$.lock_wait_timeout(9.5)
]

Установка
max_file_size, max_loop, max_recursion в нулевое значение означает «без ограничений».


Параметр отправки писем (см. 
^mail:send[…])

Под Windows и UNIX адрес SMTP-сервера
$MAIL[
   $.SMTP[mail.office.design.ru]
]

Под UNIX в safe-mode-версиях настроить программу отправки можно только при сборке Parser из исходных кодов, в бинарных версиях, распространяемых с сайта
parser.ru, задана команда
   /usr/sbin/sendmail -i -t -f postmaster

Только в unsafe-mode-версиях можно задать программу отправки почты самостоятельно:
$MAIL[
   $.sendmail[/custom/mail/sending/program params]
]

В зависимости от системы по умолчанию используется команда
   /usr/sbin/sendmail -t -i -f postmaster
или
   /usr/lib/sendmail -t -i -f postmaster


При отправке письма вместо
postmaster будет подставлен адрес отправителя из письма из обязательного поля заголовка from.

Также можно задать таблицу SQL-драйверов:
$SQL[
$.drivers[^
table::create{protocol   driver   client
mysql   /full/disk/path/parser3mysql.dll   libmariadb.so,libmysqlclient.so
odbc   /full/disk/path/parser3odbc.dll
pgsql   /full/disk/path/parser3pgsql.dll   libpq.so
sqlite   /full/disk/path/parser3sqlite.dll   libsqlite3.so
oracle   /path/to/parser3oracle.dll   C:\Oracle\Ora81\BIN\oci.dll?PATH+=^;C:\Oracle\Ora81\bin
}]
]

В колонке client таблицы drivers можно указывать сразу несколько клиентских библиотек, перечисляя их через запятую (будет использоваться первая доступная из перечисленных) [3.5.0]. Кроме того, в драйвере Oracle допустимы параметры клиентской библиотеки, отделяемые знаком ? от имени файла библиотеки, в таком виде:
имя1=значение1&имя2=значение2&...,
а также
имя+=значение.

Эти переменные будут занесены (
=) или добавлены к имеющемуся значению (+=) в программное окружение (environment) перед инициализацией библиотеки. В частности, удобно добавить путь к Oracle-библиотекам здесь, если этого не было сделано в системном программном окружении (system environment).

Таблица типов файлов:
#файл, создаваемый ^file::load[…],
#при выдаче в 
$response:body задаст этот $response:content-type
$MIME-TYPES[^
table::create{ext mime-type
7z   application/x-7z-compressed
...
zip   application/zip}]

Расширения имен файлов в таблице должны быть написаны в нижнем регистре. Поиск по таблице нечувствителен к регистру, т. е. файл FACE.GIF получит MIME-тип image/gif.

При задании
$STRICT-VARS(true) будет выдаваться исключение в случае попытки обращения к неинициализированным пременным.   [3.4.2]

При задании
$LOCALS(true) все переменные всех методов всех классов будут считаться локальными.   [3.4.6]



Copyright © 1997–2024 Art. Lebedev Studio | http://www.artlebedev.ru Дата обновления: 27.12.2024