НАЧАЛО >> Оглавление >> Сервер приложений ИРБИС 64/128 >> Ядро системы >> Класс Table📄 Скачать в DOCX
Table - внутренний PHP-класс для накопления табличных данных в памяти и вывода их в нескольких представлениях. Класс расположен в classes/Table.php и используется серверным кодом, когда нужно собрать набор строк и столбцов, а затем передать его дальше как массив, HTML-таблицу, результат шаблона или CSV-строку.
| Метод | Назначение |
|---|---|
AppendCol($id, $title = '') |
Добавляет один столбец. $id используется как ключ данных, $title - как пользовательский заголовок. |
AppendCols($colarr) |
Добавляет несколько столбцов из массива id => title. |
AppendRow($data) |
Добавляет одну строку. Ключи массива должны совпадать с идентификаторами столбцов. |
AppendRows($data) |
Добавляет несколько строк. |
GetAsArray() |
Возвращает строки как массив с ключами выбранных столбцов. |
GetAsHtml() |
Возвращает HTML-таблицу. Дополнительные HTML-атрибуты можно задавать через свойства таблицы, строк и столбцов. |
GetAsTemplate($tplname) |
Передает rows и cols в модуль Templates и возвращает результат указанного шаблона. |
GetAsCsv() |
Возвращает содержимое таблицы в виде CSV-строки. |
GetAsCsv() формирует CSV по текущим строкам таблицы и возвращает готовую строку. Метод не отправляет HTTP-заголовки и не сохраняет файл: вызывающий код сам выбирает, как передать результат пользователю или другой подсистеме.
Особенности результата:
AppendCol()/AppendCols(), если для ключа задано название, иначе используется сам ключ;;;CRLF;windows-1251.Перед вызовом GetAsCsv() в таблице должна быть хотя бы одна строка, иначе методу не из чего определить порядок столбцов. Значения строк должны быть текстовыми или приводимыми к строке и должны корректно перекодироваться из UTF-8 в windows-1251.
Пример:
UseClass('Table');
$table = new Table();
$table->AppendCols(array(
'id' => 'Идентификатор',
'name' => 'Название',
));
$table->AppendRow(array(
'id' => '1',
'name' => 'Пример',
));
$csv = $table->GetAsCsv();
В примере переменная $csv содержит CSV-строку с заголовками Идентификатор и Название, разделенными точкой с запятой.