Recent Changes - Search:

PmWiki

pmwiki.org

edit SideBar

UserInput

Модули подсистемы хранения и обработки данных UserInput UserInput предоставляет API для записи, чтения, поиска данных произвольной структуры. По аналогии со всеми объектами Nova, записи UserInput организованы в виде иерархической древовидной структуры. Каждая запись содержит строковый ключ page, задающий ее положение в иерархии, или, другими словами, тип данных. Несколько записей могут иметь одинаковый ключ. У каждой записи есть уникальный идентификатор - целое число больше нуля, который присваивается ей в момент первого сохранения записи. Также у записи может быть несколько алиасов - строковых ключей, по которым записи можно группировать, или выбирать из базы. Данные UserInput хранятся в записях таблицы userinput.
Поля таблицы:

  • userinput_id - идентифиткатор записи
  • page - ключ записи (тип данных)
  • data - данные (как правило сериализованный массив данных)
  • userinfo - упакованные данные владельца записи
  • data_index - поле быстрого поиска
  • user_index - поле быстрого поиска
  • serialized - признак сериализации данных
  • userinfo_serialized - признак сериализации данных владельца записи
  • data_model - строка-идентификатор модели данных
  • userinfo_model - строка-идентификатор модели данных владельца
  • last_modified - дата создания/модификации записи.

Каждая запись UserInput инкапсулируется в объект NovaUserInputObject.
При сохранении/заргузке из базы сложных структур данных выполняется их сериализация/десериализация.
АПИ для работы с UserInput доступен через свойство глобального экземпляра Nova: $Nova->UserInput являющимся объектом класса NovaUserInput.
Объект класса NovaUserInput предоставляет следующие методы:

  • NovaUserInput
  • GetUserInputObjects
  • GetById
  • GetByPage
  • GetUserInput
  • GetUserInputRaw
  • CountUserInput
  • CountByPage
  • CountBySQL
  • Delete
  • NewUserInputObject

Методы объект класса NovaUserInputObject:

  • NovaUserInputObject
  • ParseData - десерализует данные в поле data
  • ParseUserInfo - десериализует данные в поле userinfo
  • ReLoad - перезагружает все данные объекта из базы
  • GetStoredCopy - возвращает копию объекта с данными из базы или false, если объект еще не был сохранен
  • Update - сохраняет текущее состояние объекта в базу
  • Delete - удалить объект из базы
  • SetAlias - добавить объекту алиас
  • DeleteAlias - удалить алиас
  • GetAliases - загрузить весь список алиасов
  • ResetAliases - очистить список алиасов

Свойства объекта NovaUserInputObject:

  • data - массив, содержащий данные записи: array('userinput_id'=>'идентификатор записи','data'=>'данные','page'=>'ключ записи','data_index'=>'индекс','user_index'=>'индекс','userinfo'=>'данные пользователя','aliases'=>array('массив алиасов записи'));
  • UI - ссылка на объект NovaUserInput
Edit - History - Print - Recent Changes - Search
Page last modified on July 16, 2012, at 06:43 PM EST