Классы
Список классов отсортированный по имени. К каждому класу есть описание со всеми методами, свойствами и событиями.
- ECancelEvent
Утилитарный маленький класс для досрочного прерывания цепочки событий. Используется в cancelevent и более нигде не встречается. Далее про класс ECancelEvent
- itemplate
Интерфейс для генерации html. Используется классом [[ttemplate]]. Метод [[request]] используется [[turlmap]] для предварительного запроса до генерации html, подробности смотрите в описании метода.
Следует сделать важное замечание. Интерфейс [[itemplate]] (как и другие интерфейсы) в неявном виде подразумевает добавление стандартных свойств в классе поддерживающим интерфейс. В интерфейсе по правилам PHP могут быть только методы, но поскольку litepublisher поддерживает добавление новых свойств через методы (смотрите описание волшебных методов [[tdata]]: __get и __set. Таким образом в документации к интерфейсу будут свойства. Далее про интерфейс itemplate
- litepublisher
Класс является оберткой для хранения глобальных переменных CMS. В Lite Publisher не используются глобальные переменные. Небольшое количество переменных собрано в виде статических свойств этого класса. Все статические свойства доступны для записи, но вы не должны модифицировать эти свойства, либо это делать с точным пониманием цели и результата. Далее про класс litepublisher
- tcontentfilter
Специальный класс для конвертирования текста в html в записях и комментариях. LitePublisher устроен таким образом, что хранит исходный текст и отфильтрованный конечный html записей, комментариев, меню. Преобразование между исходным текстом и конечным html как раз делает этот класс. Соответственно очень много плагинов встраиваются в цепочки таких фильтров, например markdown, wiki, система документации, плеер youtube, короткие коды, внешние ссылки, tidy и так далее. Все эти плагины подписываются (другими словами обрабатывают) события этого класса. Фильтрация текста как правило происходит один раз (или после изменения исходного текста) и ее результаты используются. Чтобы перефильтровать все записи (например при инсталляции плагина внешних ссылок) есть специальный механизм litepublisher - номер ревизии, смотрите addrevision. Плагины обработки текста могут быть сколь угодно сложными, но это не влияет на производительность движка, так как обработка текста происходит один раз и ее результаты сохраняются. Далее про класс tcontentfilter
- tdata
Базовый класс для сохранения и восстановления данных и управления свойствами. Не имеет родительского класса, другие базовые классы порождены от этого класса. Имеет свойство [[data]] - ассоциативный массив, который сохраняется и обратно восстанавливается в файл или базу данных. Делает публичными свойства ключи этого массива. Обращение $instance->someprop и $instance->data["someprop"] эквивалентны. Чтобы добавить сохраняемое свойство достаточно добавить ключ в массив [[data]]. Также класс интерпретирует методы класса с именами начинающимися с get и set как методы доступа к свойствам. Например, если будет существовать метод getsomeprop(), то обращение $instance->someprop вызовет метод getsomeprop() для чтения и setsomeprop() для записи. Если эти методы не существуют, то будет проверен массив [[data]]. Таким образом для добавления нового свойства необходимо добавить свой метод с get/set либо установить элемент массива [[data]]. Далее про класс tdata
- tevents
Базовый класс для событий в Lite Publisher. Реализовано управление событиями. Смотрите также документ [[События]]. Далее про класс tevents
- tevents_storage
Класс, который хранит свои данные в глобальном хранилище [[tstorage]]. Все потомки этого класса следовательно тоже хранят свои данные в хранилище [[tstorage]] Далее про класс tevents_storage
- tfilestorage
Класс только со статическими методами для сохранения и восстановления данных в файл для других классов. Используется в базовом классе [[tdata]]. Изредка может использоваться другими классами для сохранения и восстановления данных в нестандартных папках. Далее про класс tfilestorage
- tpaths
Класс используется для указания путей к файлам litepublisher. Везде, где требуется составить абсолютное имя к файлу часто используется этот класс. Объект класса всегда доступен как litepublisher::$paths (смотрите paths). .Класс является оберткой для доступа к ассоциативному массиву _paths. Все ключи массива _paths являются свойствами этого класса и доступны для чтения и записи. Далее про класс tpaths
- tstorage
Класс только со статическими методами наследник от [[tfilestorage]]. Глобальное хранилище данных. Данные загружаются перед работой всех скриптов и сохраняются только один раз по окончании работы. Рекомендуется для часто меняющихся данных. Используется в классах [[toptions]], [[tsite]], [[ttemplate]]. Также используется всеми классами БД версии для хранения своих событий и некоторых свойств. Не рекомендуется для редко используемых или больших по объему данных. Далее про класс tstorage