API Parser

Параметр По умолчанию Описание
Глобальные переменные
$gVars array() Массив, который содержит переменные и их значения - Глобальные ключи
Parser($mErrorReportFuncName, $mDb)
Конструктор класса, возвращает указатель.
$mErrorReportFuncNameНазвание функции, которая будет вызвана в случае системной ошибки. Функция должна иметь четыре входных параметра: тип ошибки, файл ошибки, сообщение об ошибке, дополнительная информация об ошибке.
$mDbУказатель подключения к базе данных.
DefineSession($mName, $mDomain, $mLifeTime, $mPath)
Создает сессию, либо возобновляет существующую.
$mNameУникальное для сайта имя сессии.
$mDomain<пусто>Домен cookie, например 'melbis.com'. Чтобы сделать cookies видимыми для всех поддоменов, перед именем домена нужно поставить точку, например '.melbis.com'.
$mLifeTime0Время жизни сессионной cookie в секундах. Параметр имеет значение, только если задан домен cookie.
$mPath/Путь в домене, где cookie будет работать. Используйте одну косую черту ('/') для всех путей в домене. Параметр имеет значение, только если задан домен cookie.
DefineSelfConst()
Загрузка пользовательского набора "ключ -> значение" и определение их как констант. Для этого используется PHP-функция - define(). Данные берутся из таблицы self_key_value.
DefineSelfVars($mPrefix)
Загрузка пользовательского набора "ключ -> значение" в массив gVars. Данные берутся из таблицы self_key_value.
$mPrefix Приставка, группирующая загружаемый набор данных.
DefineLazyLoader($mLazyLoader)
Определяет HTML-код который будет подставляться в шаблон для отложенной загрузки модуля (технология Lazy Loading).
$mLazyLoaderHTML-код загрузчика. По умолчанию имеет следующее значение:
<script> 
  var req_{ID}; 
  if (window.XMLHttpRequest) 
  { 
     req_{ID} = new XMLHttpRequest(); 
  } 
  else 
  { 
     req_{ID} = new ActiveXObject("Microsoft.XMLHTTP"); 
  } 
  req_{ID}.onreadystatechange=function() 
  { 
     if (req_{ID}.readyState==4 && req_{ID}.status == 200) 
     { 
       document.getElementById("{ID}").innerHTML = req_{ID}.responseText; 
       var sc = document.getElementById("{ID}").getElementsByTagName("script"); 
       for (var n = 0; n < sc.length; n++ ) eval(sc[n].innerHTML); 
     } 
  }  
  req_{ID}.open("POST","{SCRIPT}",true); 
  req_{ID}.setRequestHeader("Content-type","application/x-www-form-urlencoded"); 
  req_{ID}.send("mod={MODULE}&params={PARAMS}");
</script>
<div id={ID}></div>
В коде предопределены следующие ключи:
  • {ID} - уникальный идентификатор модуля с учетом его входных параметров 
  • {SCRIPT} - адрес вызываемого скрипта, который выдает содержимое модуля
  • {MODULE} - имя вызываемого модуля 
  • {PARAMS} - входные параметры вызываемого модуля 
DefineLazyScript($mLazyScript)
Определяет адрес скрипта, который будет вызван для получения содежимого модуля по отложенной загрузке (технология Lazy Loading).
$mLazyScript/lazy.phpАдрес и имя скрипта
Parse($mSitePath, $mTemplate, $mUnitName, $mParamArray, $mCacheAllowed, $mBuild)
Запуск парсера для модульного скрипта.
$mSitePathДиректория, в которой находится магазин (относительно домена).
$mTemplateИмя группы шаблонов.
$mUnitNameИмя вызываемого модуля.
$mParamArrayМассив входных параметров для модуля.
$mCacheAllowedФлаг, указывающий на использование режима кеширования для всех модульных скриптов, которые будут вызываться во время парсинга страницы. Возможные значения: true, false.
$mBuild0Номер текущей сборки магазина, определяет системный ключ 1.
ParseLazy($mSitePath, $mTemplate, $mUnitName, $mParamLine, $mCacheAllowed, $mBuild)
Запуск парсера для модульного скрипта, который был определен для отложенной загрузки (Lazy Loading). Аналогичен методу Parse, отличается форматом передачи параметров.
$mSitePathДиректория, в которой находится магазин (относительно домена).
$mTemplateИмя группы шаблонов.
$mUnitNameИмя вызываемого модуля.
$mParamLineСтрока с входными параметрами передаваемыми модулю. Строка кодируется тем же способом, что и POST данные WWW-формы, то есть по типу контента application/x-www-form-urlencoded.
$mCacheAllowedФлаг, указывающий на использование режима кеширования для всех модульных скриптов, которые будут вызываться во время парсинга страницы. Возможные значения: true, false.
$mBuild0Номер текущей сборки магазина, определяет системный ключ 1.
ResetModuleCache()
Фиксирует необходимость повторного вызова модуля. Вызов данного метода имеет смысл делать только в случае, если включено кеширование модуля. Обычно используется, когда в ходе работы модуля высняется, что что-то пошло не так как нужно (например, нельзя сохранить текущие данные) и в этом случае, необходимо запустить модуль повторно, даже если зависимые таблицы не претерпевали изменений.
Fetch()
Возвращает результат работы парсера.
Publish()
Возвращает результат работы парсера. Аналогичен методу предудущему Fetch(), но в отличи от него, не просто возращает результат, но при необходимости формирует заголовок header(), а также сразу выводит содержимое на печать.
SqlQuery($mLine, $mCommand)
Выполняет SQL-запрос к базе данных. Возвращает указатель на результат.
$mLineНомер строки файла, из которой выполняется команда. Используется для вывода сообщения об ошибке.
$mCommandТекст SQL-запроса
SqlGenId ($mTableName)
Счетчик. Выполняет запрос к базе данных для генерации нового значения ID для указанной таблицы.
$mTableNameИмя таблицы, для которой необходимо получить новое значение ID.
SqlLastInsertId ()
Возвращает результат выполнения SQL-запроса: SELECT LAST_INSERT_ID() AS id
SqlSelect ($mLine, $mCommand, $mCharset)
Выполняет SQL-запрос к базе данных. Возвращает двухмерный ассоциативный массив с данными типа ['строка']['название поля'] => 'значение поля'
$mLineНомер строки файла, из которой выполняется команда. Используется для вывода сообщения об ошибке.
$mCommandТекст SQL-запроса.
$mCharsetSHOP_CHARSETНазвание кодировки, в которой будут представлены данные.
SqlSelectLimit ($mLine, $mCommand, $mOffset, $mLimit, $mCharset)
Аналогично предыдущему методу SqlSelect, выполняет SQL-запрос к базе данных. Возвращает двухмерный ассоциативный массив с данными типа ['строка']['название поля'] => 'значение поля'. Отличие состоит в том, что возвращается только часть результата.
$mLineНомер строки файла, из которой выполняется команда. Используется для вывода сообщения об ошибке.
$mCommandТекст SQL-запроса.
$mOffsetКоличество строк из результата, которые необходимо пропустить.
$mLimitКоличество строк из результата, которые необходимо вернуть.
$mCharsetSHOP_CHARSETНазвание кодировки, в которой будут представлены данные.
SqlSelectToArray ($mLine, $mCommand, $mCharset)
Выполняет SQL-запрос к базе данных. Возвращает ассоциативный массив типа "название поля -> значение поля" для первого ряда данных.
$mLineНомер строки файла, из которой выполняется команда. Используется для вывода сообщения об ошибке.
$mCommandТекст SQL-запроса.
$mCharsetSHOP_CHARSETНазвание кодировки, в которой будут представлены данные.
SqlUpdate ($mLine, $mTableName, $mFields, $mKeyField, $mCharset)
Выполняет обновление записей в таблице из базы данных.
$mLineНомер строки файла, из которой выполняется команда. Используется для вывода сообщения об ошибке.
$mTableNameИмя таблицы, которую требуется обновить.
$mFieldsАссоциативный массив с данными для обновления типа "название поля -> значение поля".
$mKeyFieldИмя ключевого поля, по которому будет происходить обновление.
$mCharsetSHOP_CHARSETНазвание кодировки, в которой будут представлены данные.
SqlInsert ($mLine, $mTableName, $mFields, $mCharset)
Выполняет вставку записей в таблицу из базы данных.
$mLineНомер строки файла, из которой выполняется команда. Используется для вывода сообщения об ошибке. 
$mTableNameИмя таблицы, в которую будут вставляться записи.
$mFieldsАссоциативный массив с данными для вставки типа "название поля -> значение поля". 
$mCharsetSHOP_CHARSETНазвание кодировки, в которой передаются данные 
SqlDelete ($mLine, $mTableName, $mKeyField, $mKeyValue, $mCharset)
Выполняет удаление записей в таблице из базы данных.
$mLineНомер строки файла, из которой выполняется команда. Используется для вывода сообщения об ошибке.
$mTableNameИмя таблицы, в которую будут вставляться записи.
$mKeyFieldИмя ключевого поля, по которому будет происходить удаление.
$mKeyValueЗначение ключевого поля.
$mCharsetSHOP_CHARSETНазвание кодировки, в которой передаются данные
SqlNumRows ($mQuery)
Получить число строк из результата SQL-запроса.
$mQueryУказатель SQL-запроса.
SqlFetchHash ($mQuery)
Возвращает ассоциативный массив типа "название поля -> значение поля" для текущего ряда из результата SQL-запроса. В случае, если рядов больше нет, то возвращает false. После выполнения запроса осуществляется переход на следующий ряд.
$mQueryУказатель SQL-запроса.
SqlFetchRow ($mQuery)
Возвращает массив со значениями для текущего ряда из результата SQL-запроса. В случае, если рядов больше нет, то возвращает false. После выполнения запроса осуществляется переход на следующий ряд.
$mQueryУказатель SQL-запроса.
SqlDataSeek ($mQuery, $mPos)
Перемещает текущий указатель по списку значений для заданного SQL-запроса.
$mQueryУказатель SQL-запроса.
$mPosНомер записи, 0 - первая запись.
SqlTableLock ($mTableName | $mArrayTablesNames)
Резервирует таблицу или таблицы для индивидуальной работы с ними. Возвращает true в случае успеха или false случае, если таблицы уже зарезервированы кем-то. Таблицы блокируются от имении системы (user_id = 0) отображается как MELBIS_SYSTEM. Данные о текущих блокировках хранятся в служебной таблице oper_block.
$mTableName $mArrayTablesNamesМожет вызываться в двух вариантах: либо имя таблицы, либо массив с именами таблиц.
SqlTableUnlock ($mTableName | $mArrayTablesNames)
Снимает резерв с таблицы или таблиц после индивидуальной работы.
$mTableName $mArrayTablesNamesМожет вызываться в двух вариантах: либо имя таблицы, либо массив с именами таблиц.
TplCreate ()
Инициализирует парсер HTML-шаблонов внутри скрипта модуля. Возвращает указатель.
TplAssign ($mTpl, $mVars, $mOneKeyValue)
Добавляет в суб-парсер набор данных типа "ключ -> значение". Может вызываться в двух вариантах, например:
  • TplAssign($tpl, [KEY1'=>'VALUE1', 'KEY2'=>'VALUE2']) - задается сразу несколько пар данных; 
  • TplAssign($tpl, 'KEY1', 'VALUE1') - задается одна пара данных.
$mTplУказатель парсера шаблонов.
$mVarsВозможно два типа значения: первый - ассоциативный массив "ключ->значение", второй - имя ключа. Во втором случае, необходимо указать третий параметр $mOneKeyValue, который должен содержать значение для ключа. Имя ключа должно быть указано без фигурных скобок. Что касается регистра, то перевод в верхний регистр происходит автоматически.
$mOneKeyValue<пусто>Значение ключа. Имеет смысл, только если параметр $mVars не является массивом.
TplAppend ($mTpl, $mVar, $mValue)
Модифицирует в парсере шаблонов набор данных, а именно дополняет значение одного из ключей.
$mTplУказатель парсера шаблонов.
$mVarИмя ключа, без фигурных скобок.
$mValueТекст, который будет добавлен к текущему значению ключа.
TplParse ($mTpl, $mVar, $mFileName)
Выполняет парсинг одного из HTML-шаблонов. Парсер производит поиск в HTML-шаблоне ключей и выполняет их замену на соответствующие значения. Ключи в HTML-шаблоне должны быть в верхнем регистре и окружены фигурными скобками, например: {KEY_NAME}. Набор ключей и их значений задается методом TplAssign. После выполнения парсинга полученный результат присоединяется к набору данных как пара "ключ->значение".
$mTplУказатель парсера шаблонов.
$mVarИмя ключа, под которым будет сохранен результат работы суб-парсера, без фигурных скобок.
$mFileNameИмя файла HTML-шаблона, для которого будет выполняться парсинг. К имени файла в начале или конце может быть добавлен символ точки, который будет означать соединение текущего значения ключа $mVar с полученным результатом парсера. Местоположение символа точки будет определять, в начало или в конец будет присоединен результат. Например:
  • TplParse($tpl, 'MAIN', 'main') - парсинг файла main.htm и сохранение результата под ключем {MAIN}
  • TplParse($tpl, 'UNIT', '.unit') -парсинг файла unit.htm и присоединение полученного результата в конец, к текущему значению ключа {UNIT}
  • TplParse($tpl, 'UNIT', 'unit.') -парсинг файла unit.htm и присоединение полученного результата в начало, к текущему значению ключа {UNIT}.
TplParseVar ($mTpl, $mVar, $mVarTemplate)
Выполняет парсинг HTML-шаблона на основе содержимого ключа. В отличие от метода TplParse, за основу берется HTML-шаблон, который находится не в файле, а предварительно был загружен в один из ключей. 
$mTplУказатель парсера шаблонов.
$mVarИмя ключа, под которым будет сохранен результат работы суб-парсера, без фигурных скобок.
$mVarTemplateИмя ключа в котором содержится HTML-шаблон, для которого будет выполняться парсинг. К имени файла в начале или конце может быть добавлен символ точки, который будет означать соединение текущего значения ключа $mVar с полученным результатом парсера. Местоположение символа точки будет определять, в начало или в конец будет присоединен результат, аналогично методу TplParse.
TplFetch ($mTpl, $mVarName)
Возвращает текущее значение ключа из набора парсера шаблонов.
$mTplУказатель парсера шаблонов.
$mVarNameИмя ключа, без фигурных скобок.
TplFree ($mTpl, $mVarName)
Возвращает текущее значение ключа из набора данных парсера шаблонов и уничтожает его указатель, высвобождая занятую память.
$mTplУказатель парсера шаблонов
$mVarNameИмя ключа, без фигурных скобок.
TplClear ($mTpl, $mVarName)
Удаляет ключ и соответствующее ему значение из набора данных парсера шаблонов.
$mTplУказатель парсера шаблонов.
$mVarNameИмя ключа, без фигурных скобок.
TplDumpVar ($mFileName, $mArray)
Выполняет запись указанной переменной в HTML-шаблон текущего модуля, используется для отладки кода (см. Средства отладки )
$mFileNameИмя файла HTML-шаблона, в который будут сохранены данные.
$mArrayЗначение или массив значений, которые требуется сохранить.
DebugState ()
Возвращает true в случае если включен режим отладки скриптов. Подробнее см. Средства отладки. Удобно использовать для вывода контрольных знанчений при отладке модуля на работающем магазине.
RunTime ($mStartPoint)
Возвращает разницу во времени между текущем временем и исходым, соответственно, если исходное время не задано, то возращает текущее время.
$mStartPoint0Исходное время
Report()
Если был включен режим отладки, то данный метод распечатывает статистику работы парсера (см. Средства отладки).
LogOn ()
Выполняет активацию сборщика статистики работы модулей
LogOff ()
Деактивация работы сборщика статистики работы модулей.
LogUnitsList ()
Возвращает массив с именами модулей, которые были задействованы в процессе работы парсера.
LogUnitStat ($mUnitName)
Возвращает массив с собранной информацией о работе заданного модуля. Это ассоциативный массив, которые имеет следующие ключи:
  • cache_allow - флаг, включено ли кеширование этого модуля;
  • run_cnt - сколько раз выполнялся модуль;
  • cache_cnt - сколько раз результат работы модуля брался из кеша;
  • request - сколько раз модуль вызывался;
  • runtime_total - общее время выполнения модуля;
  • query_count - количество SQL-запросов в модуле;
  • query_count_total - общее количество выполненных SQL-запросов;
  • query_sum_time - суммарное время выполнения SQL-запросов;
  • query_max_time - время выполнения самого длительного SQL-запроса;
  • query_max_query - текст самого длительного SQL-запроса.
$mUnitNameИмя модуля.
LogUnitParamArray ($mUnitName)
Возвращает массив с текущими входными параметрами модуля.
$mUnitNameИмя модуля.
LogUnitTables ($mUnitName)
Возвращает массив с именами таблиц из базы данных, от которых зависит перестройка кеша модуля.
$mUnitNameИмя модуля.
LogUnitCacheTimeout ($mUnitName)
Возвращает значение таймаута - времени устаревания кеша модуля.
$mUnitNameИмя модуля.
LogUnitUseCache ($mUnitName)
Возвращает значение, включено ли кеширование заданного модуля.
$mUnitNameИмя модуля.
LogUnitLoadFromCache ($mUnitName)
Возвращает значение, был ли взят результат модуля, при его последнем вызове из кеша.
$mUnitNameИмя модуля.
LogCacheTableTime ($mTableName)
Возвращает время последнего изменения таблицы из базы данных.
$mTableNameИмя таблицы.