Rivet: Tcl команды и переменные

var - get the value of a form variable.
upload - предназначена для обработки закачанных (uploaded) файлов.
load_response - Сохряняет переданные данные в массиве.
load_env - Загужает переменные окружения (environment).
load_headers - Загружает заголовки (headers) из запроса (requestа).
load_cookies - Загружает клиентские cookie.
include - Считывает файл без всякой модификации.
parse - обрабатывает файл Rivetом.
headers - установка и обработка заголовков HTTP.
makeurl - Формирует url'и основываясь на hostname, port.
cookie - работает с cookies.
clock_to_rfc850_gmt - Возвращает время согласно rfc850 основываясь на [clock seconds].
html - создает html выделения в тексте.
incr0 - увеличивает переменную на 1 или делает ее равной 1 если переменная не существовала.
parray - команда Tcl's parray с html-форматированием.

Название

var, var_qs, var_post — get the value of a form variable.

Синтаксис

var (get | list | exists | number | all)
var_qs (get | list | exists | number | all)
var_post (get | list | exists | number | all)

Описание

Команда var предназначена для доступа к переменным которые были переданы методами GET или POST, не делая между ними никакой разницы. Стоит заметить что есть еще две формы команды var: var_qs и var_post. Эти команды рассматривают только переменные переданные GETом и POSTом, соответственно.

?get? ?varname? ??default??
Возвращает значение переменной varname как строку, причем даже в случае когда у переменной есть несколько значений Если же такой переменной не было передано - то возвращается ?default?, а если и оно не было указано - то "" - пустая строка.
?list? ?varname?
Возвращает значение переменной varname как список, если для этой переменной было много значений.
?exists? ?varname?
Возвращает 1 если varname вам передана, и 0 если нет.
?number?
Возвращает количество переменных.
?all?
Возвращает список из имен переменных и их значений.

См. так же Пример 3, «Доступ к переменным».


Название

upload — предназначена для обработки закачанных (uploaded) файлов.

Синтаксис

upload (channel | save | data | exists | size | type | filename)

Описание

Команда upload предназначена для обработки закачанных (uploaded) файлов. Обратите внимание что поведение этой команды зависит от конфигурации Apache и Rivet.

?channel? ?uploadname?
Если передано имя закачанного файла, то uploadname, возвращает Tcl handle (как open (?)) для обращения к этому файлу.
?save? ?uploadname? ?filename?
Сохраняет uploadname в файле filename.
?data? ?uploadname?
Возвращает данные загруженные на сервер. Должно работать так же и с бинарными файлами.
?size? ?uploadname?
Возвращает размер закачанного файла.
?type?
Возвращает значение Content-type, если оно установлено, или пустую строчку, если нет.
?filename? ?uploadname?
Возвращает имя закачанного файла на клиентской машине.
?names?
Возвращает список имен переменных для всех закачанных файлов

См. так же Пример 4, «Закачка файлов (Upload)».


Название

load_response — Сохряняет переданные данные в массиве.

Синтаксис

load_response ?arrayName?

Описание

Сохраняет в массиве все переменные, переданные из формы

Название

load_env — Загужает переменные окружения (environment).

Синтаксис

load_env ?array_name?

Описание

Загружает в указанный массив переменные окружения. По умолчанию делает это в массив ::request::env

Так как страницы выполняются в пространстве имен ::request, то нет необходимости обращатся к этому массиву по полному имени - вполне можно ограничиться просто env (примечание переводчика: щааааз!).


Название

load_headers — Загружает заголовки (headers) из запроса (requestа).

Синтаксис

load_headers ?array_name?

Описание

Загужает клиентские HTTP заголовки в указанный массив, или в headers если имя массива не указано.


Название

load_cookies — Загружает клиентские cookie.

Синтаксис

load_cookies ?array_name?

Описание

Загужает переданные клиентом Cookie в указанный массив, или в headers если имя массива не указано.


Название

include — Считывает файл без всякой модификации.

Синтаксис

include ?filename_name?

Описание

Подгружает файл без обратки тэгов <? и ?>. Это лучший способ включить HTML файл или другой статический контент.


Название

parse — обрабатывает файл Rivetом.

Синтаксис

parse ?filename?

Описание

Почти то же что и команда Tcl source, но только с учетом тегов <? и ?>, используемых Rivetом. Этой командой можно вызывать один .rvt файл из другого.


Название

headers — установка и обработка заголовков HTTP.

Синтаксис

headers (set | redirect | add | type | numeric)

Описание

Команда headers предназначена для работы с заголовками http.

?set? ?headername? ?value?
Устанавливает разнообразные заголовки и значения.
?redirect? ?uri?
Перенаправление (redirect) с текущей страницы на новый URI. Обязана быть в самом начале кода.
?add? ?headername? ?value?
Добавляет текст в заголовок headername.
?type? ?content-type?
Эта команда устанавливает HTTP заголовок Content-type который возвращается клиенту при обращении к странице. Это полезно если вы отдаете содержимое отличное от text/html или указываете кодировку.
?numeric? ?response code?
Устанавливает код http-ответа, типа 200, 404 или 500.

Название

makeurl — Формирует url'и основываясь на hostname, port.

Синтаксис

makeurl ?filename?

Описание

Создает URL который ссылается сам на себя исходя из имени файла. Например,

makeurl /tclp.gif

вернет http://[hostname]:[port]/tclp.gif. взяв информацию о hostname и порте из достоверного источника


Название

cookie — работает с cookies.

Синтаксис

cookie ?set? ?cookieName? ??cookiValue?? ?-days expireInDays? ?-hours expireInHours? ?-minutes expireInMinutes? ?-expires Wdy, DD-Mon-YYYY HH:MM:SS GMT? ?-path uriPathCookieAppliesTo? ?-secure 1/0?
cookie ?get? ?cookieName?

Описание

Эта команда преденазаначена для установки или считывания переданных Cookies. Когда вам передают cookie, эта команда вам передает значение, или же пустую строку, если вам такую cookie не передали.


Название

clock_to_rfc850_gmt — Возвращает время согласно rfc850 основываясь на [clock seconds].

Синтаксис

clock_to_rfc850_gmt ?seconds?

Описание

Конвертирует unix-time (количество секунд с 1970 года) в формат RFC850, который требует чтобы оно было GMT.


Название

html — создает html выделения в тексте.

Синтаксис

html ?string? ?arg...?

Описание

Выводит текст с возможностию передачи HTML тэгов, переданных как аргументы. Пример:

html "Test" b i

produces: <b><i>Test</i></b>


Название

incr0 — увеличивает переменную на 1 или делает ее равной 1 если переменная не существовала.

Синтаксис

incr0 ?varname? ?num?

Описание

Прибавляет 1 к varname num раз. Если такой переменной не существовало, то создает таковую и присваивает ей 1, а не возвращает ошибку.


Название

parray — команда Tcl's parray с html-форматированием.

Синтаксис

parray ?arrayName? ??pattern??

Описание

Версия стандартной команды Tcl parray. Делает то же самое, но с красивым html оформлением.