Логотип персонального сайта Н.И.Жарких
Письмо на сайт
Версия для печати
Лента новостей (RSS)
Смерека / Программисту / Объект Page

Смерека

Программисту

Объект Page

Объект Page предназначен для генерации HTML кода веб-страниц на основании данных, которые поставляет вершина (объект Node). Этот класс наследуется от класса SmerecashPage и является значительным расширением последнего. Объект не имеет специального конструктора; для его корректного создания следует вызвать функцию CreatePage.

function CreatePage($Node, $Mode = NULL)

Эта автономная функция создает объект Page на основании информации, переданной в параметре-объекте $Node. Необязательный параметр $Mode задает режим, для которого объект Page будет генерировать код. Обычно это режим просмотра, но можно генерировать также код для режимов редактирования, поиска, статистики и т.д.

Поля

protected $MetaData – метаинформация страницы.

public $Lang – языковая версия, для которой генерируется HTML код.

public $Node – вершина, которая содержит данные для генерации HTML кода.

protected function Add2Smerecach($HTML, $LastUpd)

Метод записывает HTML код страницы, переданный в параметре $HTML, в смерекеш для последующего повторного использования кода. Параметр $LastUpd содержит дату последней модификации кода в формате ISO.

protected function CanSmerecashe()

Метод возвращает логическое значение, которое разрешает или запрещает смерекеширование данной страницы. Она вызывает метод суперкласса и затем дополнительно проверяет атрибут Smerecasheable для данной вершины.

public function CompiledAttr($Params = NULL)

Метод выполняет компиляцию смеретегов. $Params – ассоциативный массив параметров, из которых данный метод использует только параметр AttrName – имя атрибута, который надо компилировать. Если этот параметр не задан, принимается атрибут HTMLCode.

protected function CreateDataset()

Метод возвращает массив параметров, которые надо передать объекту Дерево для генерации визуального иерархического навигатора. Классы-потомки могут перекрывать этот метод, чтобы генерировать вместо полного дерева документов сайта специфическое дерево согласно поставленным задачам.

public function Display($AsString = False)

Данный метод перекрывает метод суперкласса. Он выполняет следующую работу:

  • вызывает метод OnDisplay() – обработчик события генерации страницы, который может выполнять подготовку дополнительных данных;
  • вызывает метод HTMLString(), который генерирует HTML код документа;
  • вычисляет дату модификации документа;
  • проверяет возможность смерекеширования документа (CanSmerecashe()) и при положительном ответе смерекеширует его (Add2Smerecach());
  • отсылает документ клиенту (SendPage())

protected function HTMLString()

Метод генерирует HTML код документа: загружает нужную языковую версию шаблона страницы, компилирует имеющиеся в шаблоне смеретеги и выполняет подстановку других элементов HTML кода.

public function Inspector($Params = NULL)

Метод генерирует визуальное дерево документов. Массив параметров, переданный как $Params, объединяется с массивом, сгенерированных методом CreateDataset(). Создается объект класса Tree, который на основе массива параметров генерирует HTML код дерева.

protected function LangAwareString($StrId, $Lang = NULL)

Метод возвращает языково-зависимую строку, идентифицированную языково-независимой строкой $StrId, для языка $Lang (или текущего языка, если последний параметр не задан). Результат его тот же, что и вызов функции LAString.

protected function OnDisplay()

Метод вызывается в начале генерации HTML кода документа и фактически является обработчиком этого события. В данном классе он ничего не делает.

public function SetMetaData($Value)

Метод задает метаинформацию для данного объекта.

Предыдущий раздел | Содержание | Следующий раздел

Понравилась страница? Помогите развитию нашего сайта!

© 1978 – 2018 Н.И.Жарких

Перепечатка статей с сайта приветствуется при условии
ссылки (гиперссылки) на мой сайт

Сайт живет на

Число загрузок : 1419

Модифицировано : 8.08.2017

Если вы заметили ошибку набора
на этой странице, выделите
её мышкой и нажмите Ctrl+Enter.