Содержание

Имя класса tdata
Родительский класс Нет родительского класса
Дочерние классы tevents
Исходный код lib/data.class.php
Интерфейсы
Зависит от классов litepublisher, tclasses, tdatabase

Базовый класс для сохранения и восстановления данных и управления свойствами. Не имеет родительского класса, другие базовые классы порождены от этого класса. Имеет свойство data (tdata описание класса, tpaths описание класса) - ассоциативный массив, который сохраняется и обратно восстанавливается в файл или базу данных. Делает публичными свойства ключи этого массива. Обращение $instance->someprop и $instance->data["someprop"] эквивалентны. Чтобы добавить сохраняемое свойство достаточно добавить ключ в массив data (tdata описание класса, tpaths описание класса). Также класс интерпретирует методы класса с именами начинающимися с get и set как методы доступа к свойствам. Например, если будет существовать метод getsomeprop(), то обращение $instance->someprop вызовет метод getsomeprop() для чтения и setsomeprop() для записи. Если эти методы не существуют, то будет проверен массив data (tdata описание класса, tpaths описание класса). Таким образом для добавления нового свойства необходимо добавить свой метод с get/set либо установить элемент массива data (tdata описание класса, tpaths описание класса).

Методы

Метод LoadFromDB
Тип boolean
Доступ protected

Восстанавливает данные из базы. В не перекрытом виде практически не используется. Дочерние классы перекрывают его для своих данных

Перейти к содержанию
Метод SaveToDB
Тип void
Доступ protected

Сохраняет данные в базу. По умолчанию сохраняет сериализованную строку. Практически в неперекрытом виде этот метод не применяется. Дочерние классы его перекрывают под свои данные

Перейти к содержанию
Метод __call
Тип mixed
Доступ public

Волшебный метод php. Если Делаются следующие попытки вызовов:
- если есть метод с тем же именем в нижнем регистре
- если у объекта из массива coinstances есть такой метод
- вызывается error с сообщением, что метод не найден

Перейти к содержанию
Метод __get
Тип mixed
Доступ public

Волшебный метод php. Выполняются проверки в следующей очередности:

  • Если есть метод с именем get перед именем свойства, то возвращается результат этого метода
  • Если есть ключ в массиве data, то возвращается его значение
  • Если в массиве объектов coinstances есть такое свойство, то возвращается его значение
  • вызывается метод error с сообщением, что свойство не найдено
Перейти к содержанию
Метод __isset
Тип boolean
Доступ public

Волшебный метод php. Возвращает true, если существует такое свойство у класса. Проверяет наличие ключа в массиве data (tdata описание класса, tpaths описание класса), а также метода get перед именем свойства

Перейти к содержанию
Метод __set
Тип boolean
Доступ public

Волшебный метод php. Выполняются проверки в следующей очередности:
- если есть метод начинающийся с set с именем свойства, то вызывается этот метод
- если есть ключ в массиве data, то элементу массива присваивается значение
- если в массиве объектов coinstances у объекта есть такое свойство, то ему присваивается значение
- возвращается false, что указывает, что свойство не найдено

Перейти к содержанию
Метод afterload
Тип void
Доступ public

Вызывается после загрузки данных. В классе tdata ничего не делает. Предназначен для перекрытия в дочерних классах, чтобы обработать загруженные данные из файла.

Перейти к содержанию
Метод create
Тип void
Доступ protected

Вызывается из конструктора __create. В классе tdata ничего не выполняет и предназначен для последующего перекрытия в дочерних классах. Метод предназначен для инициализации данных класса.

Перейти к содержанию
Метод error
Тип void
Доступ public

Вызывает исключение. Если не хотите, чтобы ваш класс в случае ошибки создавал исключение, то перекройте этот метод. Часто метод вызывается при обнаружении ошибки в данных и невозможности продолжить выполнение скриптов. Является альтернативой для throw new Exception($Msg);

Перейти к содержанию
Метод externalchain
Тип void
Доступ protected

Метод проверяет наличие внешнего файла, то есть файла с именем .install.php в папке install, где находится файл класса, или той же самой папке. Если есть соответствующая функция, то она вызывается. Имя функции вычисляется как имя класса + имя метода, например Install или Uninstall (обратите внимание, что для внешних функций имя функции начинается с большой буквы для большой читабельности). Метод сделан для оптимизации кода с целью вывести во внешний файл редко используемые функции. Например функции инсталляции вызываются только один раз за все время жизни класса и поэтому хранить редко используемый код вместе с остальным невыгодно.

Метод вызывает цепочку externalfunc методов всех своих родительских классов. Поэтому будьте внимательны., когда создаете свои классы, так как их инсталляция может вызвать всю цепочку методов. Чтобы этого избежать перекрывайте метод install вашего класса.

Перейти к содержанию
Метод externalfunc
Тип void
Доступ protected

Вызывает внешнюю функцию находящуюся во внешнем файле. Имя внешнего файла это имя файла, В котором находится класс, и прибавленная к нему строка .install Метод предназначен для вызова очень редко используемых функций, например инсталляция и деинсталляция

Перейти к содержанию
Метод get_class_name
Тип string
Доступ public

Статический метод возвращает имя класса. В качестве аргумента может быть строка или объект. Используется для нормализации имени класса, когда в методы могут передаваться в качестве аргументов имена классов и сами объекты.

Перейти к содержанию
Метод getbasename
Тип string
Доступ public

Возвращает строку для имени файла, в котором хранятся данные. По умолчанию возвращает значение свойства basename. Используется в save (tdata описание класса, tevents_storage описание класса, tfilestorage описание класса, tstorage описание класса), load (tdata описание класса, tevents_storage описание класса, tfilestorage описание класса, tstorage описание класса) для генерации имени файла. Может включать подпапки используя для разделителя DIRECTORY_SEPARATOR, иногда перекрывается в дочерних классах для динамического формирования имени файла данных. Если в классе имя файла постоянно, то используется свойство basename.

Перейти к содержанию
Метод getclass
Тип string
Доступ public

Возвращает имя класса. Применяется как свойство class

Перейти к содержанию
Метод getdb
Тип tdatabase
Доступ public

Возвращает глобальный объект tdatabase, в котором установлено имя таблицы для текущего объекта. Если методу передана пустая строка, то имя таблицы будет установлено в таблицу table объекта

Перейти к содержанию
Метод getthistable
Тип string
Доступ protected

метод возвращает полное имя таблицы, то есть общий префикс таблиц + имя таблицы объекта. Является методом для свойства thistable

Перейти к содержанию
Метод i
Тип object
Доступ public

Статический метод возвращает объект вызвавшего класса. Имеет смысл для PHP 5.3, перекрывается во всех классах. В будущем, когда везде будет стоять PHP 5.3 и выше можно будет удалить методы i из всех дочерних классов. В настоящее время используется для тестирования возможностей и как задел на будущее.

Перейти к содержанию
Метод install
Тип void
Доступ public

Вызывается, когда Lite Publisher инсталлирует класс. По умолчанию вызывает externalchain

Перейти к содержанию
Метод instance
Тип object
Доступ public

статический метод для обратной совместимости для версий младше 5. Не используется в будущем будет удален.

Перейти к содержанию
Метод load
Тип boolean
Доступ public

Загружает данные для объекта либо из файла либо из базы данных, в зависимости от значения свойства dbversion. В случае удачной загрузки возвращает true, в случае отсутствия данных для загрузки (данные не были загружены) возвращает false.

Перейти к содержанию
Метод loadfromstring
Тип void
Доступ public

Восстанавливает данные из строки. По умолчанию десериализует строку в массив data (tdata описание класса, tpaths описание класса). Вызывает метод afterload (tdata описание класса, tevents описание класса).

Перейти к содержанию
Метод lock
Тип void
Доступ public

Блокирует сохранение данных, увеличивая внутренний счетчик. Применяется перед внесением изменений в данные. Обязательно использовать в паре с unlock после внесения изменений. Если вызвать save (tdata описание класса, tevents_storage описание класса, tfilestorage описание класса, tstorage описание класса), то данные не будут сохранены, так как внутренний счетчик блокирует сохранение.

Перейти к содержанию
Метод method_exists
Тип boolean
Доступ public

Проверяет существование метода, в tdata возвращает false, так как в классе нет виртуальных методов. В дочернем классе tevents для событий возвращает true.

Перейти к содержанию
Метод save
Тип boolean
Доступ public

Пытается сохранить данные объекта либо в файл, либо в базу данных, в зависимости от значения свойства dbversion. Если disabled равно true или объект заблокирован (смотрите методы lock и unlock), то запись не происходит. Вызывается после внесения изменений в данные объекта.

Перейти к содержанию
Метод savetostring
Тип string
Доступ public

Возвращает строку, которая потом будет использована в loadfromstring. По умолчанию сериализует массив data (tdata описание класса, tpaths описание класса)

Перейти к содержанию
Метод uninstall
Тип void
Доступ public

Вызывается, когда Lite Publisher деинсталлирует. По умолчанию вызывает externalchain

Перейти к содержанию
Метод unlock
Тип void
Доступ public

Разблокирует данные, уменьшая внутренний счетчик. Если счетчик обнулился, то вызывается метод save (tdata описание класса, tevents_storage описание класса, tfilestorage описание класса, tstorage описание класса) и происходит сохранение данных. Обязательно применять в паре с lock. Непарное применение lock и unlock может привести к повреждению данных из за невозможности сохранить данные в файл.

Перейти к содержанию
Метод validate
Тип void
Доступ public

В настоящее время не используется. Предполагается в будущем, что этот метод будет вызываться для проверки целостности данных и в случае повреждения их ремонта. По умолчанию вызывает externalchain

Перейти к содержанию

Свойства

Свойство basename
Тип string
Доступ чтение и запись

Строка для формирования имени файла данных. Используется для хранения данных в файлах. Как правило равно свойству table

Перейти к содержанию
Свойство cache
Тип boolean
Доступ чтение и запись

Свойство показывает turlmap следует ли кэшировать контент этого класса. Используется только в тех классах, которые генерируют контент. Для служебных классов не имеет смысла. В большинстве случаев = true.

Перейти к содержанию
Свойство coclasses
Тип array
Доступ чтение и запись

Массив имен соклассов. В tdata не используется, предназначен для дочерних классов

Перейти к содержанию
Свойство coinstances
Тип array
Доступ чтение и запись

Массив объектов. Если в классе не будет найдено свойство или метод, то будет продолжен поиск среди объектов из массива coinstances

Перейти к содержанию
Свойство data
Тип array
Доступ чтение и запись

Центральное свойство класса. В нем хранятся данные объекта, которые используются для виртуальных свойств. Этот массив сохраняется и восстанавливается в файлы. Для добавление свойства достаточно бывает добавить в этот массив.

Перейти к содержанию
Свойство db
Тип tdatabase
Доступ только чтение

Возвращает глобальный объект tdatabase, где в качестве текущей таблицы для запросов стоит имя таблицы текущего объекта.

Перейти к содержанию
Свойство dbversion
Тип boolean
Доступ только чтение

Возвращает true если объект хранит свои данные в базе данных. По умолчанию возвращает false

Перейти к содержанию
Свойство lockcount
Тип int
Доступ чтение и запись

Счетчик блокировок. Изменять не рекомендуется. Для блокировки и разблокировки следует использовать методы lock, unlock. Для проверки блокировки следует использовать свойство locked

Перейти к содержанию
Свойство locked
Тип boolean
Доступ только чтение

Возвращает true в случае блокировки объекта. Служит для проверки можно ли записать данные.

Перейти к содержанию
Свойство table
Тип string
Доступ чтение и запись

Имя таблицы в базе данных без общего префикса имен таблиц. Например для записей это будет posts. Используется только в бд версии. Смотри также thistable - полное имя таблицы

Перейти к содержанию
Свойство thistable
Тип string
Доступ только чтение

Имя таблицы включая общий префикс таблиц. Смотри также table. Используется для формирования строки SQL запроса.

Перейти к содержанию