Properties

$phpErrorCallbackFuncStr

$phpErrorCallbackFuncStr : string|array|null

Type

string|array|null — Имя реальной ф-ии (или массив из класса и статического метода) - реального обработчика ошибок

Methods

isCommandExists()

isCommandExists(string  $name) : boolean

Определяет, существует ли команда с указанным именем.

Проверяется только наличие файла физически.

Parameters

string $name

Имя команды

Returns

boolean

createCommandObject()

createCommandObject(string  $name) : object

Получение экземпляра класса комманды

Parameters

string $name

Имя команды

Returns

object —

Экземпляр класса, наследник от Command

executeCommand()

executeCommand(string  $name, boolean  $log = false, \arary  $newRequestParams = array(), boolean  $mergeRequestParams = true, array  $existingRequestParamsKeysToMerge = array()) : mixed

Выполнение указанной команды и возвращение её результата

Parameters

string $name

Имя команды

boolean $log
  • протоколировать ли начало и конец команды в cmd.log (по умолчанию логируется только в fass/index.php)
\arary $newRequestParams
  • параметры для переопределения массива $_REQUEST на время выполнения команды
boolean $mergeRequestParams
  • 1 для слияния с $_REQUEST, 0 - использовать только $newRequestParams
array $existingRequestParamsKeysToMerge
  • список параметров в $_REQUEST для слияния

Returns

mixed —

Результат

getCommandNesting()

getCommandNesting() : integer

Получение текущего уровня вложенности команды

Returns

integer —

Уровень

getTemplate()

getTemplate(string  $name) : string

Получение содержимого файла шаблона

Parameters

string $name

Имя файла шаблона

Returns

string —

Строка шаблона

composeTemplate()

composeTemplate(array  $template) : string

Загрузка шаблона со вставкой под-шаблонов

Формат описания:
 array(
   'name' => "<имя_шаблона>",
   'sub'  => (
     '<[:позиция1:]>' => <под-шаблон 1>,
     '<[:позиция2:]>' => <под-шаблон 2>,
     ...
   )
 )

Parameters

array $template

Массив описания шаблона

Returns

string —

Строка шаблона

fillTemplate()

fillTemplate(string  $tpl_name, array  $data) : array

Загрузка шаблона и заполнение его данными

Если шаблон содержит синтаксическую ошибку, вызывается команда \FASS_Config::$checkTplCommandName, чтобы показать эту ошибку программисту (будет сгенерирована ошибка E_PARSE)

Parameters

string $tpl_name

Имя шаблона

array $data

Массив данных (массив ассоциативных массивов)

Returns

array —

Массив строк шаблона с данными

fillTemplate1()

fillTemplate1(string  $name, array  $data = array()) : \string/NULL

Загрузка шаблона и заполнение его данными

Обертка над fillTemplate(), но $data - просто ассоц. массив (а не массив массивов), а возвращается просто результат компиляции шаблона или NULL в случае ошибки (а не массив строк)

Parameters

string $name
  • имя шаблона
array $data
  • ассоц. массив с данными шаблона; будут доступны в шаблоне как переменные с именами = ключам массива $data

Returns

\string/NULL —
  • результат компиляции шаблона

mkdir()

mkdir(string  $pathname, integer  $mode = null, boolean  $recursive = false) : integer

Создание директории и размещение в ней файла index.html с пустым body (аналог 'IndexIgnore *' из .htaccess, только работать будет везде)

Parameters

string $pathname

Путь и имя директории

integer $mode

Права доступа на новую директорию

boolean $recursive

Разрешает создание вложенных директорий, указанных в $pathname

Returns

integer —

0 - ок, 1 - не удалось создать директорию, 2 - не удалось создать файл index.html

setErrorHandlers()

setErrorHandlers() 

Установить обработчиком php-ошибок метод FASS_Core::phpErrorHandler(), а обработчиком shutdown - метод FASS_Core::phpOnShutdown().

Вызывается в core/init.php при инициализации FASS при автономном использовании, а при встраивании в CMS - оборачивать использование FASS между \FASS_Core::setErrorHandlers() и \FASS_Core::unsetErrorHandlers()

unsetErrorHandlers()

unsetErrorHandlers() : \sring

Используется при встраивании в CMS для снятия установленных FASS-обработчиков php-ошибок и shutdown

Returns

\sring —

trace

getDebugTraceString()

getDebugTraceString() 

Получение короткого строкового представления стека вызовов ф-ий

phpErrorHandler()

phpErrorHandler(integer  $errno, string  $errstr, string  $errfile, string  $errline, array|null  $errcontext) : true

Обработчик (callback) php-ошибок.

Не вызывать вручную! Умеет определять, в каком именно шаблоне возникла ошибка (и по какой цепочке он вызывался) Протоколирует ошибку и передает обработку в \FASS_Core::$phpErrorCallbackFuncStr

Parameters

integer $errno
string $errstr
string $errfile
string $errline
array|null $errcontext

Returns

true

setErrorCallback()

setErrorCallback(string|array  $callback) 

Установка реальной ф-ии для обработки ошибок, вызывающейся из обработчика {@see FASS_Core::phpErrorHandler()}

Даннвый метод вызывается в fass/index.php и устанавливает реальным обработчиком ф-ию \fassOnCrash()

Parameters

string|array $callback
  • имя ф-ии или массив из имени класса и его статического метода

phpOnShutdown()

phpOnShutdown() 

Обработчик (callback) shutdown - нормального завершения работы скрипта или после фатальной ошибки или die().

Не вызывать вручную! Если была ошибка, то, как и \FASS_Core::phpErrorHandler(), протоколирует ошибку и передает обработку в \FASS_Core::$phpErrorCallbackFuncStr. Также умеет определять, в каком именно шаблоне возникла ошибка (и по какой цепочке он вызывался)

phpErrorNoToStr()

phpErrorNoToStr(integer  $errno) : string

Получение строкового наименования константы E_*

Parameters

integer $errno

Returns

string

dieNeedAuth()

dieNeedAuth() : NULL

Для выполнения этой команды необходима авторизация.

Returns

NULL

dieParamNotExists()

dieParamNotExists(string  $p) : NULL

Не передан параметр $p или передано пустое значение

Parameters

string $p

Имя параметра

Returns

NULL

dieNotAdmin()

dieNotAdmin() : NULL

Недостаточно прав. Выполнять эту команду разрешено только администратору.

Returns

NULL

dieAccessDenied()

dieAccessDenied() : NULL

Недостаточно прав.

Returns

NULL

isServerDown()

isServerDown() : boolean

Определяет выключен ли сервер явно или по расписанию.

Returns

boolean

getClientIP()

getClientIP() : \$string

Определение IP пользователя

Returns

\$string —

IP

isAssocArray()

isAssocArray(array  $arr) : boolean

Возвращает true, если массив $arr ассоциативный

Parameters

array $arr

Returns

boolean

isPlainArray()

isPlainArray(array  $arr) : boolean

Возвращает true, если все элементы массива - не массивы, т.е. он одномерный

Parameters

array $arr

Returns

boolean

arrayExtend()

arrayExtend(array  $array1, array  $array2, boolean  $mergeSequentialSubarrays = true) : array

Дополнить массив $array1 массивом $array2.

Работает, как array_merge_recursive(), за исключением:

  • типы данных не меняются: склеивание array('a' => 1) и array('a' => 2) приведет не к array('a' => array(1,2)), а к array('a' => 2)
  • склеивание array('a' => array(1,2)) и array('a' => array(2,3)) приведет к array('a' => array(1,2,2,3)), если указан $mergeSequentialSubarrays == true, иначе к array('a' => array(2,3))

Примеры:

{a: 1}       + {a: 2}        => {a: 2}
{a: [1,2]}   + {a: [2,3]}    => {a:[1,2,2,3]}   или {a:[2,3]}
[1]          + [2]           => [1,2]           или [2]
[[1,2]]      + [[2,3]]       => [[1,2,2,3]]     или [[2,3]]

Parameters

array $array1
array $array2
boolean $mergeSequentialSubarrays

Returns

array

isEmptyArray()

isEmptyArray(array  $arr) : boolean

Возвращает true, если массив $arr пустой, т.е. у него нез начений или есть, но пустые, например array('')

Parameters

array $arr

Returns

boolean

isEmpty()

isEmpty(\muxed  $val) : boolean

Возвращает true, если значение $val - пустой массив или NULL или пустая строка В отличие от php-функции empty(), не считает пустым значением FALSE и 0

Parameters

\muxed $val

Returns

boolean

getRefDataString()

getRefDataString(string  $ref_name, mixed  $ids, string  $col_name = 'name', string  $custom_sep = ', ') : string

Возвращает наименования справочника, перечисленные через разделитель в виде строки

Parameters

string $ref_name

Имя справочника (таблицы БД)

mixed $ids

ID нужных значений

string $col_name

Имя колонки с текстовым наименованием

string $custom_sep

Разделитель наименований в результирующей строке

Returns

string —

Строка результата

isSessionOpened()

isSessionOpened() : boolean

Возвращает признак открытой сессии

Returns

boolean —

Открыта или нет

openSession()

openSession() : boolean

Открытие предыдущей сессии, если она еще не открыта

Returns

boolean —

Успех/Неудача

closeSessionIfAutoLogin()

closeSessionIfAutoLogin() 

Закрытие сессии пользователя в том случае, если она была открыта автомтически

initSession()

initSession() 

Инициализация работы с сессией, установка обработчиков

loginCheck()

loginCheck() : boolean

Проверка, открыта сессия или нет. Если не открыта, то пытается открыть

Returns

boolean —

Успех/Неудача

debug()

debug(mixed  $data = null, string  $file = null) : NULL

Сохранение в лог-файл отладочной информации

Parameters

mixed $data

Отладочные данные

string $file

Имя файла (в конфигурационном файле задано имя по-умолчанию)

Returns

NULL

notice()

notice(string  $text = null, mixed  $data = null) : NULL

Сохранение в лог-файл уведомления в случае обработанных ошибок

Parameters

string $text

Текст уведомления

mixed $data

Данные

Returns

NULL

enableAssert()

enableAssert() 

Включение assert()

disableAssert()

disableAssert() 

Отключение assert()

onAssertFailed()

onAssertFailed(string  $script, integer  $line, string|null  $message, string|null  $comment = null) 

Обработчик, вызывающийся при провале проверки assert()ю Не вызывать вручную! Логирует провал проверки в error.log и выбрасывает исключение FASS_SystemException

Parameters

string $script
integer $line
string|null $message
string|null $comment

preProcessTemplateContent()

preProcessTemplateContent(string  $text) : string

Преобразование содержимого шаблона

Сейчас в шаблоне поддерживаются замены i18n-кодов на соответсвующие тексты на текущем языке
Пример: строка вида {t:$i18n[msg][ERR_REG_MISSING_LOGIN]} заменится на строку "Логин должен быть заполнен", объявленную в fass/language/msg_ru.i18n.json,
 где "t:" - модификатор вывода.
Поддерживаются модификаторы:
 t - вывод простого текста
 h - вывод html-закодированного текста через ф-ию htmlspecialchars()
 hp - вывод текста для значений аттрибутов html-тегов через ф-ию htmlspecialchars()
 j - вывод json-закодированного текста через json_encode()

Parameters

string $text

Содержимое файла шаблона

Returns

string —

Преобразованное содержимое шаблона

getCommandInfo()

getCommandInfo(string  $name) : Array

Определение характеристик команды по ее имени

 [0] => Тип (int) :
        0 - Сгенерирована AppXML
        1 - Обычная команда
 [1] => Имя класс (string)
 [2] => Имя метода (string)
 [3] => Полный путь к файлу команды (string)

Parameters

string $name

Имя команды

Returns

Array —

Характеристики

isValidCommand()

isValidCommand(string  $class, string  $method) : boolean

Метод проверяет на валидность имена класса и метода команды.

Parameters

string $class

Имя класса

string $method

Имя метода

Returns

boolean