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 оформлением.