tdata описание класса
06.04.2010Содержание
| Имя класса | 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 с сообщением, что метод не найден
Перейти к содержанию
| Метод | __construct |
| Тип | void |
| Доступ | public |
Конструктор класса. инициализирует свойства data (tdata описание класса, tpaths описание класса), basename, cache (tdata описание класса, tpaths описание класса), coinstances, coclasses. Вызывает метод create (tdata описание класса, tevents описание класса, tcontentfilter описание класса).
Перейти к содержанию
| Метод | __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 запроса.
Перейти к содержанию
← Ранее Первая запись в блоге
Позже tevents описание класса →
Комментариев нет на запись “tdata описание класса”
Оставить комментарий