iniConstMem - определить общие константы библиотеки.

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

Типы устройств, через браузеры которых может читаться сайт: эта группа констант отмечает типы устройств, которые могут быть определены в программе, просматривающей сайт.

Следующая группа констант - это специальные параметры длительности кукисов, которые используются в функции MakeCookie для ограничения времени их жизни или для их удаления.

Далее представлены режимы вывода сообщений об ошибке. TPhpPrown позволяет выводить сообщения четырьмя способами: в текущей позиции сайта, через исключение с пользовательской ошибкой, в дополнительном блоке для сообщения (в дополнительном div-е), в диалоговом окне с помощью jQueryUi.

В завершении идет группа констант, определяющих семь типов переменных, используемых в библиотеке.

<?php namespace prown;

// PHP7/HTML5, EDGE/CHROME                              *** iniConstMem.php ***
// ****************************************************************************
// * TPhpPrown                          Определить общие константы библиотеки *
// *                                                                          *
// * v1.3, 08.09.2021                              Автор:       Труфанов В.Е. *
// * Copyright © 2019 tve                          Дата создания:  02.04.2019 *
// ****************************************************************************

/*
 Модуль определяет общие константы, которые используются в различных функциях
 библиотеки и в вызывающих их внешних программах.
 
 Константа Ok указывает на стандартный возвращаемый результат работы процедуры
 или метода (в библиотеке TPhpTools) - то есть сообщение об успешном их выполнении.
 Ok = "Все хорошо у меня". В зависимости от назначения функции могут возвращать
 и другие результаты.
 
 Группа констант Computer,Mobile,Tablet указывают тип устройства, через браузер
 которых был считан сайт.
 
 Следующая группа констант cdiFromBytes,cdiToBytes определяют направление
 пересчета информации о размерности: пересчитать число байт в число килобайт/ 
 кибибайт, мегабайт/мебибайт и так далее или пересчитать размерность в обратном
 направлении в байты (функции от ChangeDimInfo).
 
 Следующие константы cook512,cookSession,cookDelete - это специальные параметры 
 длительности кукисов, которые используются в функции MakeCookie для ограничения
 времени их жизни или для их удаления.
 
 Затем объявлены режимы трассировки результатов выполнения регулярного выражения
 с помощью функции MakeRegExp: mriStandTracing,mriInstallTrace,mriTracingBlock,
 mriIsDeprecated. 
 
 Далее представлены режимы вывода сообщений об ошибке. TPhpPrown позволяет 
 своим функциям выводить сообщения четырьмя способами: rvsCurrentPos - в текущей
 позиции сайта, rvsTriggerError - через исключение с пользовательской ошибкой, 
 rvsMakeDiv - в дополнительном блоке для сообщения (в дополнительном div-е), 
 rvsDialogWindow - в диалоговом окне с помощью jQueryUi или просто возвращать 
 сообщение - rvsReturn.
 
 В завершении идет группа констант, определяющих семь типов вутренних 
 переменных, используемых в библиотеке.
*/

// --------- Сообщение об успешном завершении функции, процедуры или метода ---
define ("Ok""Все хорошо у меня");   // i'm ok - "Все хорошо у меня"  
define ("imok"Ok);                  // i'm ok - "Все хорошо у меня"  
define ("Err""Произошла ошибка");  
// ------------- Типы устройств, через браузеры которых может читаться сайт ---
define ("Computer""Computer");      // устройство, запросившее сайт - компьютер  
define ("Mobile""Mobile");          // устройство, запросившее сайт - смартфон  
define ("Tablet""Tablet");          // устройство, запросившее сайт - планшет  
// ------------------------- Направление пересчета информации о размерности ---
define ("cdiToBytes",   1);           // пересчитать килобайты или кибибайты, ... в байты
define ("cdiFromBytes"2);           // пересчитать байты в килобайты или кибибайты, ...
// ------------------ Специальные параметры длительности кукисов MakeCookie ---
define ("cook512"44236800);         // время жизни кукиса составляет 512 дней
define ("cookSession"0);            // время жизни до завершения сеанса браузера
define ("cookDelete", -1);            // кукис удалить по завершении сеанса браузера
// -------- Режимы трассировки результатов регулярного выражения MakeRegExp ---
define ("mriStandTracing"0);        // трассировка результатов стандартным выводом
define ("mriInstallTrace"1);        // установленная трассировка MakeRegExp
define ("mriTracingBlock"2);        // трассировка заблокирована
define ("mriIsDeprecated"3);        // разбор и сообщение устаревшего использования
// -------------------------------------- Режимы вывода сообщений об ошибке ---
define ("rvsCurrentPos",   -1);       // в текущей позиции сайта 
define ("rvsTriggerError",  0);       // исключение с пользовательской ошибкой на подключенном сайте 
define ("rvsMakeDiv",       1);       // в дополнительном div-е для сообщения   
define ("rvsDialogWindow",  2);       // в диалоговом окне с помощью JQueryUI   
define ("rvsReturn",        3);       // сообщение не выводится, просто возвращается из функции   
// -------------------------------------------------------- Типы переменных ---
define ("tArr",   "array");           // массивы (упорядоченные соответствия значений и ключей)
define ("tObj",   "object");          // объекты, представители определённого класса
define ("tInt",   "integer");         // целые числа (из множества {...,-2,-1,0,1,2,...})
define ("tFloat""double");          // числа с плавающей точкой
define ("tStr",   "string");          // наборы символов=байт (256 различных значений)
define ("tBool",  "boolean");         // простейшие типы, выражающие истинность значения
define ("tNull",  "null");            // переменные без значения

// ****************************************************************************
// *                       Перенести константы в JavaScript                   *
// ****************************************************************************
// Подключить переменные JavaScript, соответствующие определениям в PHP
function IniPrownJS()
{
   
$define=
   
'<script>'.
   
'imok="'        .imok.'";'.
   
'Err="'         .Err.'";'.
   
'Computer="'    .Computer.'";'.
   
'Mobile="'      .Mobile.'";'.
   
'Tablet="'      .Tablet.'";'.
   
'</script>';
   echo 
$define;
}   

// ******************************************************** iniConstMem.php ***