diff --git a/reference/phar/Phar/createDefaultStub.xml b/reference/phar/Phar/createDefaultStub.xml new file mode 100644 index 000000000..294cd3904 --- /dev/null +++ b/reference/phar/Phar/createDefaultStub.xml @@ -0,0 +1,121 @@ + + + + + + + + Phar::createDefaultStub + Создать загрузчик в формате phar-архива + + + &reftitle.description; + + final public static stringPhar::createDefaultStub + stringindexfile + stringwebindexfile + + + + Этот метод создает код загрузчика (stub) в специфичном для phar-архива формате + и не предназначеный для использования с файловыми архивами на основе tar или zip. + + + Phar-архивы содержат загрузчик (stub), написанный на + PHP, который запускается при запуске архива, когда его подключают через include: + + + ]]> + + или просто запускают: + + + + + + Этот метод предоставляет простой способ для создания загрузчика, который будет + отрабатывать при запуске phar-архива. Кроме того, можно указывать разные + файлы для запуска phar-архива через веб-сервер и через командрую строку. + Загрузчик также вызывает Phar::interceptFileFuncs + для простого создания приложений PHP с доступом к файловой системе. + Если расширение phar отсутствует, то загрузчик распакует phar-архив во временную + директорию и запустит приложение оттуда. Функция завершения работы удалит все + временные файлы. + + + + + &reftitle.returnvalues; + + Возвращает текст с кодом загрузчика (stub), который позволит Phar-архиву запускаться + независимо от того, подключено ли расширение Phar или нет. + + + + + &reftitle.errors; + + Бросит исключение UnexpectedValueException, если любой + из параметров будет длинее 400 байт. + + + + + &reftitle.examples; + + + Пример использования <function>Phar::createDefaultStub</function> + +setStub($phar->createDefaultStub('cli.php', 'web/index.php')); +} catch (Exception $e) { + // обрабатываем ошибки +} +?> +]]> + + + + + + + &reftitle.seealso; + + + Phar::setStub + Phar::getStub + + + + + + + + diff --git a/reference/phar/Phar/delMetadata.xml b/reference/phar/Phar/delMetadata.xml new file mode 100644 index 000000000..a723600d4 --- /dev/null +++ b/reference/phar/Phar/delMetadata.xml @@ -0,0 +1,112 @@ + + + + + + + + Phar::delMetadata + Удалить глобальные метаданные в архиве phar + + + + &reftitle.description; + + public boolPhar::delMetadata + + + &phar.write; + + + Удаляет глобальные метаданные в архиве phar + + + + + &reftitle.parameters; + + + + + + &reftitle.returnvalues; + + Возвращает &true; в случае успеха, но лучше использовать проверку исключений. + + + + + &reftitle.errors; + + Бросает исключение PharException в случае ошибки при + сохранении изменений на диск. + + + + + + &reftitle.examples; + + + Пример использования <function>Phar::delMetaData</function> + +getMetadata()); + $phar->setMetadata("hi there"); + var_dump($phar->getMetadata()); + $phar->delMetadata(); + var_dump($phar->getMetadata()); +} catch (Exception $e) { + // handle errors +} +?> +]]> + + &example.outputs; + + + + + + + + + &reftitle.seealso; + + + Phar::getMetadata + Phar::setMetadata + Phar::hasMetadata + + + + + + + diff --git a/reference/phar/Phar/extractTo.xml b/reference/phar/Phar/extractTo.xml new file mode 100644 index 000000000..43b76d95f --- /dev/null +++ b/reference/phar/Phar/extractTo.xml @@ -0,0 +1,135 @@ + + + + + + + + Phar::extractTo + Извлечь содержимое phar-архива в директорию + + + + &reftitle.description; + + public boolPhar::extractTo + stringpathto + string|arrayfiles + booloverwritefalse + + + + Извлекает все файлы phar-архива на диск. Извлеченные файлы и директории сохраняют + все разрешения, которые у них были. Опциональные параметры позволяют контролировать, + какие именно файлы извлекать и нужно ли перезаписывать уже существующие. + Второй параметр files может быть как именем файла, так и + путем директории, которые надо извлекать. По умолчанию, уже существующие на диске + файлы перезаписываться не будут. Для указания, что нужно использовать перезапись, + используется третий параметр. + Этот метод аналогичен методу ZipArchive::extractTo. + + + + + &reftitle.parameters; + + + + pathto + + + Путь, по которому необходимо сохраните извлеченные файлы (files) + + + + + files + + + Имя файла или директории, которые надо извлечь. Либо архив с именами файлов/директорий + + + + + overwrite + + + Установите в &true;, если необходимо перезаписывать уже существующие файлы + + + + + + + + + &reftitle.returnvalues; + + Возвращает &true; в случае успеха. Но лучше использовать механизм перехвата исключений для контроля успешности. + + + + + &reftitle.errors; + + Бросает исключение PharException в случае ошибки записи на диск. + + + + + + &reftitle.examples; + + + Пример использования <function>Phar::extractTo</function> + +extractTo('/full/path'); // извлечь все файлы + $phar->extractTo('/another/path', 'file.txt'); // извлечь только file.txt + $phar->extractTo('/this/path', + array('file1.txt', 'file2.txt')); // извлечь два указанных файла + $phar->extractTo('/third/path', null, true); // извлечь все файлы, использовать перезапись +} catch (Exception $e) { + // handle errors +} +?> +]]> + + + + + + + &reftitle.seealso; + + + PharData::extractTo + + + + + + + diff --git a/reference/phar/Phar/getMetadata.xml b/reference/phar/Phar/getMetadata.xml new file mode 100644 index 000000000..93bd81a41 --- /dev/null +++ b/reference/phar/Phar/getMetadata.xml @@ -0,0 +1,105 @@ + + + + + + + + Phar::getMetadata + Извлечь мета-данные phar-архива + + + &reftitle.description; + + public mixedPhar::getMetadata + + + + + Возвращает мета-данные phar-архива. Мета-данными может быть любая переменная PHP, которая может быть сериализована. + + + + + &reftitle.parameters; + + Без параметров. + + + + &reftitle.returnvalues; + + любая переменная PHP, которая может быть сериализована и сохранена как мета-данные + Phar-архива, либо &null;, если мета-данные отсутствуют. + + + + + &reftitle.examples; + + + Пример использования <function>Phar::getMetadata</function> + + + +setMetadata(array('bootstrap' => 'file.php')); + var_dump($p->getMetadata()); +} catch (Exception $e) { + echo 'Could not modify phar:', $e; +} +?> +]]> + + &example.outputs; + + + string(8) "file.php" +} +]]> + + + + + + + &reftitle.seealso; + + + Phar::setMetadata + Phar::delMetadata + Phar::hasMetadata + + + + + + + diff --git a/reference/phar/Phar/getModified.xml b/reference/phar/Phar/getModified.xml new file mode 100644 index 000000000..7d3a062e0 --- /dev/null +++ b/reference/phar/Phar/getModified.xml @@ -0,0 +1,58 @@ + + + + + + + + Phar::getModified + Определить, изменялся phar-архив + + + &reftitle.description; + + public boolPhar::getModified + + + + + Этот метод используется для определения, изменялось ли что либо в + phar-архиве. + + + + + &reftitle.parameters; + + Без параметров. + + + + &reftitle.returnvalues; + + &true; - если архив после открытия изменялся и &false;, если нет. + + + + + + diff --git a/reference/phar/Phar/getSignature.xml b/reference/phar/Phar/getSignature.xml new file mode 100644 index 000000000..5598d3e76 --- /dev/null +++ b/reference/phar/Phar/getSignature.xml @@ -0,0 +1,63 @@ + + + + + + + + Phar::getSignature + Получить MD5/SHA1/SHA256/SHA512/OpenSSL подпись Phar-архива + + + &reftitle.description; + + public arrayPhar::getSignature + + + + + Возвращает проверочную подпись phar-архива в виде строки шестнадцатеричных цифр. + + + + + &reftitle.parameters; + + + + + &reftitle.returnvalues; + + Массив, содержащий цифровую подпись открытого архива по ключу hash, + и MD5, SHA-1, SHA-256, + SHA-512 или OpenSSL по ключу + hash_type. Подпись - это хеш, вычесленный от содержимого + архива, которую можно использовать для проверки его целосности. + Корректная подпись требуется для всех запускаемых phar-архивов, если разрешена + INI-переменная phar.require_hash. + + + + + + + diff --git a/reference/phar/Phar/getStub.xml b/reference/phar/Phar/getStub.xml new file mode 100644 index 000000000..49e989939 --- /dev/null +++ b/reference/phar/Phar/getStub.xml @@ -0,0 +1,126 @@ + + + + + + + + Phar::getStub + Получить код загрузчика Phar-архива + + + &reftitle.description; + + public stringPhar::getStub + + + + + Phar-архивы содержат загрузчик (stub), написанный на + PHP, который запускается при запуске архива, когда его подключают через include: + + + ]]> + + или просто запускают: + + + + + + + + &reftitle.returnvalues; + + Возвращает строку, содержащую текст загрузчика текущего Phar-архива. + + + + + &reftitle.errors; + + Бросает исключение RuntimeException, если по каким либо + причинам не может получить текст загрузчика. + + + + + &reftitle.examples; + + + Пример использования <function>Phar::getStub</function> + +getStub(); +echo "==NEXT==\n"; +$p->setStub(""); +echo $p->getStub(); +?> +]]> + + &example.outputs; + + +==NEXT== + +]]> + + + + + + + &reftitle.seealso; + + + Phar::setStub + Phar::createDefaultStub + + + + + + + + diff --git a/reference/phar/Phar/getSupportedSignatures.xml b/reference/phar/Phar/getSupportedSignatures.xml new file mode 100644 index 000000000..2162eaf33 --- /dev/null +++ b/reference/phar/Phar/getSupportedSignatures.xml @@ -0,0 +1,69 @@ + + + + + + + + Phar::getSupportedSignatures + Получить массив поддерживаемых алгоритмов подписи архива + + + + &reftitle.description; + + final public static arrayPhar::getSupportedSignatures + + + + Возвращает массив поддерживаемых алгоритмов подписи архива + + + + + &reftitle.parameters; + + Без параметров. + + + + + &reftitle.returnvalues; + + Возвращает массив примерно такого содержания: MD5, SHA-1, + SHA-256, SHA-512, OpenSSL. + + + + + &reftitle.seealso; + + + Phar::getSignature + Phar::setSignatureAlgorithm + + + + + + + diff --git a/reference/phar/Phar/getVersion.xml b/reference/phar/Phar/getVersion.xml new file mode 100644 index 000000000..9c58b3369 --- /dev/null +++ b/reference/phar/Phar/getVersion.xml @@ -0,0 +1,68 @@ + + + + + + + + Phar::getVersion + Получить версию Phar-архива + + + &reftitle.description; + + public stringPhar::getVersion + + + + + Возвращает версию API открытого Phar-архива. + + + + + &reftitle.parameters; + + + + + &reftitle.returnvalues; + + Версия API открытого архива. Не перепутайте с версией API загруженного + расширения phar. Каждый Phar-архив имеет жестко прописанную версию API, + с помощью которого его создавали, в манифесте. + Подробную документацию можно почитать на странице Формат файла Phar. + + + + &reftitle.seealso; + + + Phar::apiVersion + + + + + + + + diff --git a/reference/phar/Phar/hasMetadata.xml b/reference/phar/Phar/hasMetadata.xml new file mode 100644 index 000000000..c6ec54a5f --- /dev/null +++ b/reference/phar/Phar/hasMetadata.xml @@ -0,0 +1,102 @@ + + + + + + + + Phar::hasMetadata + Проверить, содержит ли phar-архив глобальные метаданные + + + + &reftitle.description; + + public boolPhar::hasMetadata + + + + Проверяет, содержит ли phar-архив глобальные метаданные. + + + + + &reftitle.parameters; + + Без параметров. + + + + + &reftitle.returnvalues; + + Возвращает &true; или &false;. + + + + + &reftitle.examples; + + + Пример использования <function>Phar::hasMetadata</function> + +hasMetadata()); + $phar->setMetadata(array('thing' => 'hi')); + var_dump($phar->hasMetadata()); + $phar->delMetadata(); + var_dump($phar->hasMetadata()); +} catch (Exception $e) { + // handle error +} +?> +]]> + + &example.outputs; + + + + + + + + + &reftitle.seealso; + + + Phar::getMetadata + Phar::setMetadata + Phar::delMetadata + + + + + + + diff --git a/reference/phar/Phar/interceptFileFuncs.xml b/reference/phar/Phar/interceptFileFuncs.xml new file mode 100644 index 000000000..b946208c2 --- /dev/null +++ b/reference/phar/Phar/interceptFileFuncs.xml @@ -0,0 +1,107 @@ + + + + + + + + Phar::interceptFileFuncs + Указывает phar перехватывать fopen, file_get_contents, opendir и все stat-функции + + + + &reftitle.description; + + final public static voidPhar::interceptFileFuncs + + + + Указывает phar перехватывать fopen, readfile, + file_get_contents, opendir и все + stat-функции. Если какая либо из этих функций будет вызвана из phar-архива с + относительным путем, то вызов будет модифицирован для доступа к содержимому + архива. В случае с абсолютными путями будут работать штатные функции доступа + к файловой системе. + + + Эта функция позволяет писать приложения работающие не привязанные к жесткому диску. + + + + + &reftitle.parameters; + + No parameters. + + + + + &reftitle.returnvalues; + + + + + + &reftitle.examples; + + + Пример использования <function>Phar::interceptFileFuncs</function> + + +]]> + + + + + Предположим, что у нас есть /path/to/myphar.phar и в нем + содержатся файлы file.php и + file2.txt. file.php содержит такой код: + + + + Пример использования <function>Phar::interceptFileFuncs</function> + + +]]> + + + + + В обычном режиме, PHP будет искать file2.txt в текущей директории, + являющейся директорией запуска file.php, либо текущей директорией в случае + использования командной строки. Phar::interceptFileFuncs укажет + PHP, что текущая директория - это phar:///path/to/myphar.phar/ и, + для примера выше, будет открыт файл + phar:///path/to/myphar.phar/file2.txt. + + + + + + diff --git a/reference/phar/Phar/isBuffering.xml b/reference/phar/Phar/isBuffering.xml new file mode 100644 index 000000000..273554ba3 --- /dev/null +++ b/reference/phar/Phar/isBuffering.xml @@ -0,0 +1,115 @@ + + + + + + + + Phar::isBuffering + Проверить, будут ли операции с Phar-архивом буферизованы или записаны напрямую на диск + + + &reftitle.description; + + public boolPhar::isBuffering + + + + + Проверяет, будут ли операции с Phar-архивом сразу записаны + на диск или для этого надо вызывать Phar::stopBuffering. + + + Настройки буферизации индивидуальны для каждого архива. + Включенная буферизация для foo.phar никак не влияет + на режим работы с bar.phar. + + + + + + &reftitle.returnvalues; + + Возвращает &true; или &false;. + + + + + &reftitle.examples; + + + Пример использования <function>Phar::isBuffering</function> + + + +isBuffering()); +var_dump($p2->isBuffering()); +?> +=2= +startBuffering(); +var_dump($p->isBuffering()); +var_dump($p2->isBuffering()); +$p->stopBuffering(); +?> +=3= +isBuffering()); +var_dump($p2->isBuffering()); +?> +]]> + + &example.outputs; + + + + + + + + + &reftitle.seealso; + + + Phar::startBuffering + Phar::stopBuffering + + + + + + + diff --git a/reference/phar/Phar/isFileFormat.xml b/reference/phar/Phar/isFileFormat.xml new file mode 100644 index 000000000..57642be77 --- /dev/null +++ b/reference/phar/Phar/isFileFormat.xml @@ -0,0 +1,85 @@ + + + + + + + + Phar::isFileFormat + Проверить, что phar-архив имеет заданный формат (tar/phar/zip) + + + + &reftitle.description; + + public boolPhar::isFileFormat + intformat + + + + + + + &reftitle.parameters; + + + + format + + + Phar::PHAR, Phar::TAR или + Phar::ZIP, в зависимости от проверяемого формата. + + + + + + + + + + &reftitle.returnvalues; + + Возвращает &true;, если phar-архив имеет указанный формат + + + + + &reftitle.errors; + + В случае задания некорректного формата будет выброшено исключение PharException. + + + + + &reftitle.seealso; + + + Phar::convertToExecutable + Phar::convertToData + + + + + + + diff --git a/reference/phar/Phar/isValidPharFilename.xml b/reference/phar/Phar/isValidPharFilename.xml new file mode 100644 index 000000000..7e6a80e1a --- /dev/null +++ b/reference/phar/Phar/isValidPharFilename.xml @@ -0,0 +1,79 @@ + + + + + + + + Phar::isValidPharFilename + Проверяет, что заданное имя файла является корректным именем phar-архива + + + + &reftitle.description; + + final public static boolPhar::isValidPharFilename + stringfilename + boolexecutabletrue + + + + Проверяет, что заданное имя файла является корректным именем phar-архива. + Можно использовать для проверки имени файла до момента его непосредственного + создания, дабы избежать нежелательных исключений. + + + + + &reftitle.parameters; + + + + filename + + + Имя или полный путь до файла, который еще не создан + + + + + executable + + + Этот параметр определяет, должен ли файл опозноваться как + запускаемый phar-архив, или как незапускаемый архив с данными + + + + + + + + + &reftitle.returnvalues; + + Возвращает &true; или &false;. + + + + + diff --git a/reference/phar/Phar/isWritable.xml b/reference/phar/Phar/isWritable.xml new file mode 100644 index 000000000..7c1d8c6a8 --- /dev/null +++ b/reference/phar/Phar/isWritable.xml @@ -0,0 +1,68 @@ + + + + + + + + Phar::isWritable + Проверяет, можно ли модифицировать phar-архив + + + + &reftitle.description; + + public boolPhar::isWritable + + + + Этот метод возвращает &true; если phar.readonly установлен в + 0, архив существует и доступен для записи. + + + + + &reftitle.parameters; + + Параметров нет. + + + + + &reftitle.returnvalues; + + Возвращает &true; если архив можно модифицировать + + + + &reftitle.seealso; + + + Phar::canWrite + PharData::isWritable + + + + + + + diff --git a/reference/phar/Phar/loadPhar.xml b/reference/phar/Phar/loadPhar.xml new file mode 100644 index 000000000..959b47285 --- /dev/null +++ b/reference/phar/Phar/loadPhar.xml @@ -0,0 +1,122 @@ + + + + + + + + Phar::loadPhar + Загрузить phar-архив с псевдонимом + + + &reftitle.description; + + final public static boolPhar::loadPhar + stringfilename + stringalias + + + + Может использоваться для загрузки внешнего Phar-архива. + То, что для phar-архива назначается псевдоним, позволяет в дальнейшем + использовать более короткие ссылки для доступа к нему или же для загрузки архивов Phar, + содержащих только данные и не предназначеных для выполнения. + + + + + &reftitle.parameters; + + + + filename + + + Путь к загружаемому phar-архиву + + + + + alias + + + Псевдоним для доступа к архиву. Обратите внимание, что многие + phar-архивы имеют свой явно заданный псевдоним и, при задании нового псевдонима, + будет выброшено исключение PharException. + + + + + + + + &reftitle.returnvalues; + + &return.success; + + + + + &reftitle.errors; + + Если задан параметр с псевдонимом, а загружаемый архив уже имеет псевдоним, то будет + выброшено исключение PharException + + + + + &reftitle.examples; + + + Пример использования <function>Phar::loadPhar</function> + + Phar::loadPhar можно использовать где угодно, тогда как + Phar::mapPhar только в загрузчике (stub) Phar-архива. + + + +]]> + + + + + + + &reftitle.seealso; + + + Phar::mapPhar + + + + + + + diff --git a/reference/phar/Phar/mapPhar.xml b/reference/phar/Phar/mapPhar.xml new file mode 100644 index 000000000..8c60d4c73 --- /dev/null +++ b/reference/phar/Phar/mapPhar.xml @@ -0,0 +1,131 @@ + + + + + + + + Phar::mapPhar + Прочитать текущий запущенный phar-архив и зарегистрировать его манифест + + + &reftitle.description; + + final public static boolPhar::mapPhar + stringalias + intdataoffset0 + + + + Этот статический метод можно использовать только в загрузчике (stub) + Phar-архива в целях его инициализации, когда он запущен напрямую, либо + включен в другой скрипт. + + + + + &reftitle.parameters; + + + + alias + + + Псевдоним можно использовать в обертках phar://, ссылаясь + на этот архив, вместо использования полного пути. + + + + + dataoffset + + + Неиспользуемая переменная. Существует только для совместимости с PEAR-пакетом + PHP_Archive. + + + + + + + + &reftitle.returnvalues; + + &return.success; + + + + + &reftitle.errors; + + Выбрасывается исключение PharException, если вызывается + из скрипта, в котором не обнаружено токена __HALT_COMPILER();, либо если + файл недоступен для чтения. + + + + + &reftitle.examples; + + + Пример использования <function>Phar::mapPhar</function> + + Phar::loadPhar можно использовать где угодно, тогда как + Phar::mapPhar только в загрузчике (stub) Phar-архива. + + + Простой загрузчик Phar, использующий mapPhar. + + +getMessage(); + die('Cannot initialize Phar'); +} +__HALT_COMPILER(); +]]> + + + + + + + &reftitle.seealso; + + + Phar::loadPhar + + + + + + + + diff --git a/reference/phar/Phar/mount.xml b/reference/phar/Phar/mount.xml new file mode 100644 index 000000000..8d6258c28 --- /dev/null +++ b/reference/phar/Phar/mount.xml @@ -0,0 +1,163 @@ + + + + + + + + Phar::mount + Монтирование внешнего путь или файла к виртуальному пути в phar-архиве + + + + &reftitle.description; + + final public static voidPhar::mount + stringpharpath + stringexternalpath + + + Очень похоже на концепцию файловой системы unix по монтированию внешнего + устройства в существующее дерево директорий. Phar::mount + позволяет ссылаться на внешние файлы и директории, как будто они находятся + внутри архива. Это позволяет повысить уровень абстракции обращаясь ко внешним + конфигурационным файлам так, как будто они являются частью архива. + + + + + &reftitle.parameters; + + + + pharpath + + + Внутренний путь в архиве, по которому необходимо примонтировать внешний путь. + Это должен быть не существующий относительный путь внутри архива. + + + + + externalpath + + + Путь или URL внешнего файла или директории + + + + + + + + + &reftitle.returnvalues; + + Ничего не возвращает. В случае ошибки бросает исключение PharException. + + + + + &reftitle.errors; + + Бросает исключение PharException при возникновении ошибок. + + + + + &reftitle.examples; + + + Пример использования <function>Phar::mount</function> + + В следующем примере демонстрируется доступ к внешнему конфигурационному файлу, + как будто он находится внутри архива. + + + Для начала код, содержащийся в архиве: + + + +]]> + + + Далее внешний код, монтирующий файл в архив: + + + +]]> + + + Другой метод - поместить монтирующий код а загрузчик (stub) внутрь архива. + Пример использования конфигурационного файла по умолчанию, + если пользовательский файл конфигурации не задан: + + + +]]> + + + ... и код для загрузки этого phar-архива: + + + +]]> + + + + + + + + diff --git a/reference/phar/Phar/mungServer.xml b/reference/phar/Phar/mungServer.xml new file mode 100644 index 000000000..5d8079eb9 --- /dev/null +++ b/reference/phar/Phar/mungServer.xml @@ -0,0 +1,128 @@ + + + + + + + + Phar::mungServer + Определить список до четырех $_SERVER-переменных, которые должны быть изменены для запуска + + + + &reftitle.description; + + final public static voidPhar::mungServer + arraymunglist + + + Функция Phar::mungServer должна вызываться только в загрузчике. + + + Определяет список до четырех $_SERVER-переменных, которые + необходимо модифицировать для запуска. + Модификация заключается в удалении следов запуска из phar-архива для + переменных REQUEST_URI, PHP_SELF, + SCRIPT_NAME и SCRIPT_FILENAME. + + + Сам по себе этот метод ничего не делает. Эффект достигается только в комбинации + с Phar::webPhar и только если запрошенный файл является + PHP-файлом для разбора. Обратите внимание, что переменные + PATH_INFO и PATH_TRANSLATED всегда + модифицированы. + + + Оригинальные значения изменяемых переменных будут сохранены в массиве SERVER + с префиксами PHAR_. Например, оригинальное значение + SCRIPT_NAME будет записано в PHAR_SCRIPT_NAME. + + + + + &reftitle.parameters; + + + + munglist + + + Массив, содержащий комбинацию из: + REQUEST_URI, PHP_SELF, + SCRIPT_NAME и SCRIPT_FILENAME. + Любые другие значения вызывут исключение. + Обратите внимание, что функция Phar::mungServer чуствительна к + регистру символов. + + + + + + + + + &reftitle.returnvalues; + + Ничего не возвращает. + + + + + &reftitle.errors; + + Бросает исключение UnexpectedValueException, если входные + данные некоректны. + + + + + &reftitle.examples; + + + Пример использования <function>Phar::mungServer</function> + + +]]> + + + + + + + &reftitle.seealso; + + + Phar::webPhar + Phar::setStub + + + + + + + diff --git a/reference/phar/Phar/offsetExists.xml b/reference/phar/Phar/offsetExists.xml new file mode 100644 index 000000000..db87ebc55 --- /dev/null +++ b/reference/phar/Phar/offsetExists.xml @@ -0,0 +1,109 @@ + + + + + + + + Phar::offsetExists + Определить, есть ли файл в архиве + + + &reftitle.description; + + public boolPhar::offsetExists + stringoffset + + + Это реализация интерфейса ArrayAccess, + позволяющаа манипулировать содержимым Phar-архива в стиле доступа к элементам + массива. + + + offsetExists() запускается каждый раз, когда вызывается isset. + + + + + &reftitle.parameters; + + + + offset + + + Имя файла (относительный путь). + + + + + + + + &reftitle.returnvalues; + + Возвращает &true;, если файл присутствует в архиве и &false;, если нет. + + + + + &reftitle.examples; + + + Пример использования <function>Phar::offsetExists</function> + + +]]> + + &example.outputs; + + + + + + + + + &reftitle.seealso; + + + Phar::offsetGet + Phar::offsetSet + Phar::offsetUnset + + + + + + + diff --git a/reference/phar/Phar/offsetGet.xml b/reference/phar/Phar/offsetGet.xml new file mode 100644 index 000000000..8ff2db6c3 --- /dev/null +++ b/reference/phar/Phar/offsetGet.xml @@ -0,0 +1,124 @@ + + + + + + + + Phar::offsetGet + Получить объект PharFileInfo для конкретного файла + + + &reftitle.description; + + public intPhar::offsetGet + stringoffset + + + + Это реализация интерфейса ArrayAccess, + позволяющаа манипулировать содержимым Phar-архива в стиле доступа к элементам + массива. Phar::offsetGet используется для + извлечения файлов из архива. + + + + + &reftitle.parameters; + + + + offset + + + Имя файла (относительный путь). + + + + + + + + &reftitle.returnvalues; + + Объект класса PharFileInfo. Можно использовать + для получения информации о файле и для извлечения контента через итерирование. + + + + + &reftitle.errors; + + Бросает исключение BadMethodCallException, если такого файла нет. + + + + + &reftitle.examples; + + + Пример использования <function>Phar::offsetGet</function> + + Как и для любого другого класса, реализующего ArrayAccess, + метод Phar::offsetGet будет вызван автоматически + при использовании оператора []. + + + +]]> + + &example.outputs; + + + + + + + + + &reftitle.seealso; + + + Phar::offsetExists + Phar::offsetSet + Phar::offsetUnset + + + + + + + diff --git a/reference/phar/Phar/offsetSet.xml b/reference/phar/Phar/offsetSet.xml new file mode 100644 index 000000000..37abb0b45 --- /dev/null +++ b/reference/phar/Phar/offsetSet.xml @@ -0,0 +1,129 @@ + + + + + + + + Phar::offsetSet + Изменение содержимого файла + + + &reftitle.description; + + public voidPhar::offsetSet + stringoffset + stringvalue + + &phar.write; + + + + Это реализация интерфейса ArrayAccess, + позволяющаа манипулировать содержимым Phar-архива в стиле доступа к элементам + массива. offsetSet используется для изменения контента существующего + файла, либо для создания нового. + + + + + &reftitle.parameters; + + + + offset + + + Имя файла (относительный путь). + + + + + value + + + Содержимое файла. + + + + + + + + &reftitle.returnvalues; + + Ничего не возвращает. + + + + + &reftitle.errors; + + Если phar.readonly установлен в + 1, то будет выброшено исключение + BadMethodCallException, так как модифицировать Phar-архив + можно только, если phar.readonly равен 0. Если возникнут + какие либо проблемы с записью на диск - будет выброшено исключение + PharException. + + + + + &reftitle.examples; + + + Пример использования <function>Phar::offsetSet</function> + + offsetSet не нужно вызывать напрямую. Используйте синтаксис []. + + + +]]> + + + + + + + &reftitle.seealso; + + + Phar::offsetExists + Phar::offsetGet + Phar::offsetUnset + + + + + + + + diff --git a/reference/phar/Phar/offsetUnset.xml b/reference/phar/Phar/offsetUnset.xml new file mode 100644 index 000000000..045d47043 --- /dev/null +++ b/reference/phar/Phar/offsetUnset.xml @@ -0,0 +1,120 @@ + + + + + + + + Phar::offsetUnset + Удалить файл из phar-архива + + + &reftitle.description; + + public boolPhar::offsetUnset + stringoffset + + &phar.write; + + + + Это реализация интерфейса ArrayAccess, + позволяющаа манипулировать содержимым Phar-архива в стиле доступа к элементам + массива. offsetUnset используется для удаления файлов и запускается каждый раз, + когда используется конструкция unset. + + + + + + &reftitle.parameters; + + + + offset + + + Имя файла (относительный путь). + + + + + + + + + &reftitle.returnvalues; + + &return.success; + + + + + &reftitle.errors; + + Если phar.readonly установлен в + 1, то будет выброшено исключение + BadMethodCallException, так как модифицировать Phar-архив + можно только, если phar.readonly равен 0. Если возникнут + какие либо проблемы с записью на диск - будет выброшено исключение + PharException. + + + + + &reftitle.examples; + + + Пример использования <function>Phar::offsetUnset</function> + + +]]> + + + + + + + &reftitle.seealso; + + + Phar::offsetExists + Phar::offsetGet + Phar::offsetSet + Phar::unlinkArchive + Phar::delete + + + + + + + diff --git a/reference/phar/Phar/running.xml b/reference/phar/Phar/running.xml new file mode 100644 index 000000000..38458e9ff --- /dev/null +++ b/reference/phar/Phar/running.xml @@ -0,0 +1,97 @@ + + + + + + + + Phar::running + Получить полный путь на диске, либо полный URL запущенного Phar-архива + + + + &reftitle.description; + + final public static stringPhar::running + boolretphartrue + + + + Возвращает полный путь запущенного phar-архива. Используется для того же, для + чего используется константа __FILE__ и работает только внутри + запущенного phar-архива. + + + При запуске Phar::running из загрузчика результат будет + "". Внутри загрузчика используйте + константу __FILE__. + + + + + &reftitle.parameters; + + + + retphar + + + Если &false;, то будет возвращен полный дисковый путь к phar-архиву. + Если &true;, то будет возвращен полный URL. + + + + + + + + + + &reftitle.returnvalues; + + Вернет путь, если он корректен, либо пустую строку. + + + + + &reftitle.examples; + + + Пример использования <function>Phar::running</function> + + Для следующего примера предположим, что архив лежит по пути + /path/to/phar/my.phar. + + + +]]> + + + + + + + diff --git a/reference/phar/Phar/setAlias.xml b/reference/phar/Phar/setAlias.xml new file mode 100644 index 000000000..d0b8d54a0 --- /dev/null +++ b/reference/phar/Phar/setAlias.xml @@ -0,0 +1,115 @@ + + + + + + + + Phar::setAlias + Установить псевдоним для Phar-архива + + + + &reftitle.description; + + public boolPhar::setAlias + stringalias + + &phar.write; + + + Устанавливает псевдоним для Phar-архива и записывает его как постоянный + псевдоним для этого архива. Псевдоним можно использовать внутри phar-архива для + уверенности в том, что доступ через потоковую обертку phar для + доступа к внутренним файлам будет работать всегда, независимо от местоположения + phar-архива на файловой системе. Другой альтернативой является надежда на + перехват include или использование + Phar::interceptFileFuncs совместно с относительными путями. + + + + + &reftitle.parameters; + + + + alias + + + Короткое имя, которое можно будет использовать с доступом + через потоковую обертку phar. + + + + + + + + + &reftitle.returnvalues; + + + + + + &reftitle.errors; + + Бросает исключение UnexpectedValueException, если + досьтуп запрещен и PharException, если псевдоним + уже используется, или возникли проблемы с записью на диск. + + + + + &reftitle.examples; + + + Пример использования <function>Phar::setAlias</function> + +setAlias('myp.phar'); +} catch (Exception $e) { + // обрабатываем ошибки +} +?> +]]> + + + + + + + &reftitle.seealso; + + + Phar::__construct + Phar::interceptFileFuncs + + + + + + + diff --git a/reference/phar/Phar/setDefaultStub.xml b/reference/phar/Phar/setDefaultStub.xml new file mode 100644 index 000000000..5ffef04af --- /dev/null +++ b/reference/phar/Phar/setDefaultStub.xml @@ -0,0 +1,122 @@ + + + + + + + + Phar::setDefaultStub + Установить в качестве загрузчика (stub) загрузчик по умолчанию + + + &reftitle.description; + + public boolPhar::setDefaultStub + stringindex + stringwebindex + + &phar.write; + + Этот метод комбинирует функционал двух других методов, + Phar::createDefaultStub и Phar::setStub. + + + + + &reftitle.parameters; + + + + index + + + Относительный путь в phar-архиве для запуска при доступе из командной строки + + + + + webindex + + + Относительный путь в phar-архиве для запуска при доступе из веб-браузера + + + + + + + + + &reftitle.returnvalues; + + &return.success; + + + + + &reftitle.errors; + + Будет брошено исключение UnexpectedValueException, + если phar.readonly разрешено в php.ini. + В случае проблем с записью на диск будет выброшено исключение + PharException. + + + + + &reftitle.examples; + + + Пример использования <function>Phar::setDefaultStub</function> + + + +setDefaultStub('cli.php', 'web/index.php'); + // это аналогично такому коду: + // $phar->setStub($phar->createDefaultStub('cli.php', 'web/index.php')); +} catch (Exception $e) { + // handle errors +} +?> +]]> + + + + + + + &reftitle.seealso; + + + Phar::setStub + Phar::createDefaultStub + + + + + + + diff --git a/reference/phar/Phar/setMetadata.xml b/reference/phar/Phar/setMetadata.xml new file mode 100644 index 000000000..84b698c78 --- /dev/null +++ b/reference/phar/Phar/setMetadata.xml @@ -0,0 +1,128 @@ + + + + + + + + Phar::setMetadata + Установить мета-данные phar-архива + + + + + &reftitle.description; + + public voidPhar::setMetadata + mixedmetadata + + &phar.write; + + + Функция Phar::setMetadata используется для сохранения + данных, характеризующих phar-архив в целом. + PharFileInfo::setMetadata используется для установки мета-данных + для конкретного файла. Если мета-данных будет много, то это может снизить + скорость загрузки phar-архива. + + + Мета-данные можно использовать, например, для указания, какой файл должен + исполняться при загрузке, или для указагния местоположения манифеста, + типа package.xml для модуля PEAR. + В общем, любые полезные в контексте phar-архива данные. + + + + + + &reftitle.parameters; + + + + metadata + + + Любая переменная PHP, содержащая необходимую информацию + + + + + + + + + &reftitle.returnvalues; + + &return.void; + + + + + &reftitle.examples; + + + Пример использования <function>Phar::setMetadata</function> + + + +setMetadata(array('bootstrap' => 'file.php')); + var_dump($p->getMetadata()); +} catch (Exception $e) { + echo 'Не могу создать/изменить phar:', $e; +} +?> +]]> + + &example.outputs; + + + string(8) "file.php" +} +]]> + + + + + + + &reftitle.seealso; + + + Phar::getMetadata + Phar::delMetadata + Phar::hasMetadata + + + + + + + diff --git a/reference/phar/Phar/setSignatureAlgorithm.xml b/reference/phar/Phar/setSignatureAlgorithm.xml new file mode 100644 index 000000000..595cd815f --- /dev/null +++ b/reference/phar/Phar/setSignatureAlgorithm.xml @@ -0,0 +1,122 @@ + + + + + + + + Phar::setSignatureAlgorithm + Установить алгоритм подписания phar-архива и применение его + + + + &reftitle.description; + + public voidPhar::setSignatureAlgorithm + intsigtype + stringprivatekey + + &phar.write; + + + Устанавливает алгоритм подписания phar-архива и применяет его. + Доступны следующие алгоритмы подписания: Phar::MD5, + Phar::SHA1, Phar::SHA256, + Phar::SHA512 и Phar::OPENSSL. + + + Обратите внимание, что для всех исполняемых phar-архивов подпись создается + автоматически, с использованием по умолчанию SHA1. + Архивы с данными на основе tar или zip + (созданные с помощью класса PharData) должны иметь + явно созданную с помощью Phar::setSignatureAlgorithm подпись. + + + + + &reftitle.parameters; + + + + sigtype + + + Одна из констант: Phar::MD5, + Phar::SHA1, Phar::SHA256, + Phar::SHA512 или Phar::OPENSSL + + + + + privatekey + + + Секретный ключ OpenSSL, извлеченный из сертификата, либо файл с ключем OpenSSL: + +setSignatureAlgorithm(Phar::OPENSSL, $pkey); +?> + ]]> + + Подробности об именовании и размещении файла открытого ключа + читайте в разделе введение в phar. + + + + + + + + + + &reftitle.returnvalues; + + &return.void; + + + + + &reftitle.errors; + + Бросает исключение UnexpectedValueException + при любых ошибках, кроме ошибок записи на диск. При ошибках записи на диск + бросает исключение PharException. + + + + + &reftitle.seealso; + + + Phar::getSupportedSignatures + Phar::getSignature + + + + + + + diff --git a/reference/phar/Phar/setStub.xml b/reference/phar/Phar/setStub.xml new file mode 100644 index 000000000..8c05e27cf --- /dev/null +++ b/reference/phar/Phar/setStub.xml @@ -0,0 +1,184 @@ + + + + + + + + Phar::setStub + Добавить загрузчик(stub) в Phar-архив + + + &reftitle.description; + + public boolPhar::setStub + stringstub + intlen-1 + + &phar.write; + + + + Этот метод используется для добавления PHP-загрузчика в новый Phar-архив, либо + для замены уже существующего загрузчика. + + + Загрузчик используется при подключении Phar-архива с помощью included: + + + + ]]> + + + Загрузчик не используется, когда архив подключается с использованием обертки + phar, как в примере ниже: + + + + ]]> + + + + + + &reftitle.parameters; + + + + stub + + + Строка, либо открытый ресурс потока. + + + + + len + + + + + + + + + + + + &reftitle.returnvalues; + + &return.success; + + + + + &reftitle.errors; + + Будет брошено исключение UnexpectedValueException, + если phar.readonly разрешено в php.ini. + В случае проблем с записью на диск будет выброшено исключение + PharException. + + + + + &reftitle.examples; + + + Пример использования <function>Phar::setStub</function> + + + +setStub(''); + include 'phar://brandnewphar.phar/a.php'; + var_dump($p->getStub()); + $p['b.php'] = 'setStub(''); + include 'phar://brandnewphar.phar/b.php'; + var_dump($p->getStub()); +} catch (Exception $e) { + echo 'Write operations failed on brandnewphar.phar: ', $e; +} +?> +]]> + + &example.outputs; + +" +string(5) "World" +string(83) "" +]]> + + + + + + + &reftitle.changelog; + + + + + + &Version; + &Description; + + + + + 5.4.0 + + Добавлен параметр len. + + + + + + + + + + &reftitle.seealso; + + + Phar::getStub + Phar::createDefaultStub + + + + + + + diff --git a/reference/phar/Phar/startBuffering.xml b/reference/phar/Phar/startBuffering.xml new file mode 100644 index 000000000..72baef05a --- /dev/null +++ b/reference/phar/Phar/startBuffering.xml @@ -0,0 +1,117 @@ + + + + + + + + Phar::startBuffering + Запускает буферизацию операций записи, отключая запись изменений Phar-архива на диск + + + &reftitle.description; + + public voidPhar::startBuffering + + + + + Метод Phar::startBuffering может дать значительный прирост + производительности при создании, либо модификации phar-архива с большим + количеством файлов. Обычно, когда добавляется новый файл, либо + изменяется существующий, запускается операция пересоздания phar-архива. + С включенной буферизацией архив будет пересоздан один раз в самом конце + внесения изменений. + + + Эта концепция работает аналогично транзакции в базе данных, что + позволяет сделать вне необходимые изменения и применить их + одновременно, в рамках одной операции. Такое поведение обеспечивает пара + методов Phar::startBuffering/Phar::stopBuffering. + + + Настройки буферизации индивидуальны для каждого архива. + Включенная буферизация для foo.phar никак не влияет + на режим работы с bar.phar. + + + + + &reftitle.returnvalues; + + &return.void; + + + + + &reftitle.examples; + + + Пример использования <function>Phar::startBuffering</function> + + + +count() . " entries\n"; +$p->startBuffering(); +$p['file.txt'] = 'hi'; +$p['file2.txt'] = 'there'; +$p['file2.txt']->setCompressedGZ(); +$p['file3.txt'] = 'babyface'; +$p['file3.txt']->setMetadata(42); +$p->setStub("stopBuffering(); +?> +]]> + + + + + + + &reftitle.seealso; + + + Phar::stopBuffering + Phar::isBuffering + + + + + + + diff --git a/reference/phar/Phar/stopBuffering.xml b/reference/phar/Phar/stopBuffering.xml new file mode 100644 index 000000000..44fb14b3a --- /dev/null +++ b/reference/phar/Phar/stopBuffering.xml @@ -0,0 +1,132 @@ + + + + + + + + Phar::stopBuffering + Останавливает буферизацию и записывает все изменения на диск + + + &reftitle.description; + + public voidPhar::stopBuffering + + + + + Метод Phar::stopBuffering используется совместно с + методом Phar::startBuffering. + Phar::startBuffering может дать значительный прирост + производительности при создании, либо модификации phar-архива с большим + количеством файлов. Обычно, когда добавляется новый файл, либо + изменяется существующий, запускается операция пересоздания phar-архива. + С включенной буферизацией архив будет пересоздан один раз в самом конце + внесения изменений. + + + Эта концепция работает аналогично транзакции в базе данных, что + позволяет сделать вне необходимые изменения и применить их + одновременно, в рамках одной операции. Такое поведение обеспечивает пара + методов Phar::startBuffering/Phar::stopBuffering. + + + Настройки буферизации индивидуальны для каждого архива. + Включенная буферизация для foo.phar никак не влияет + на режим работы с bar.phar. + + + + + + &reftitle.returnvalues; + + &return.void; + + + + + &reftitle.errors; + + В случае проблем с записью на диск будет выброшено исключение PharException. + + + + + &reftitle.examples; + + + Пример использования <function>Phar::stopBuffering</function> + + + +startBuffering(); +var_dump($p->getStub()); +$p->setStub("stopBuffering(); +var_dump($p->getStub()); +?> +]]> + + &example.outputs; + + + + + + + + + &reftitle.seealso; + + + Phar::startBuffering + Phar::isBuffering + + + + + + + diff --git a/reference/phar/Phar/unlinkArchive.xml b/reference/phar/Phar/unlinkArchive.xml new file mode 100644 index 000000000..5f9a68ac1 --- /dev/null +++ b/reference/phar/Phar/unlinkArchive.xml @@ -0,0 +1,116 @@ + + + + + + + + Phar::unlinkArchive + Полностью удалить архив из памяти и с диска + + + + &reftitle.description; + + final public static boolPhar::unlinkArchive + stringarchive + + + Полностью удаляет архив из памяти и с диска. + + + + + &reftitle.parameters; + + + + archive + + + Путь к архиву на файловой системе. + + + + + + + + + + &reftitle.returnvalues; + + &return.success; + + + + + &reftitle.errors; + + В случае присутствия открытых файловых дескрипторов к архиву или + объектов Phar, PharData, + PharFileInfo, ссылающихся на этот архив, будет выброшено + исключение PharException. + + + + + &reftitle.examples; + + + Пример использования <function>Phar::unlinkArchive</function> + +compress(Phar::GZ); +// удаляются все ссылки на архив +unset($p); +fclose($fp); +// удаляются все следы существования +Phar::unlinkArchive('my.phar'); +?> +]]> + + + + + + + &reftitle.seealso; + + + Phar::delete + Phar::offsetUnset + + + + + + + diff --git a/reference/phar/Phar/webPhar.xml b/reference/phar/Phar/webPhar.xml new file mode 100644 index 000000000..43d1c2a67 --- /dev/null +++ b/reference/phar/Phar/webPhar.xml @@ -0,0 +1,233 @@ + + + + + + + + Phar::webPhar + mapPhar для phar-архивов на базе веб. Контроллер фронтэнда для веб-приложений + + + + &reftitle.description; + + final public static voidPhar::webPhar + stringalias + stringindex"index.php" + stringf404 + arraymimetypes + callablerewrites + + + Phar::mapPhar для phar-архивов на базе веб. Этот метод разбиарет + $_SERVER['REQUEST_URI'] и маршрутизирует запросы веб-браузера + к конкретному файлу в phar-архиве. Фактически это симуляция веб-сервера, + перенаправляющего запросы к корректным файлам, возвращающим правильные + заголовки и разбирающий PHP-файлы, если необходимо. Этот мощный метод является + частью того, что упрощает преобразование существующего PHP-приложения в phar-архив. + Совместно с Phar::mungServer и + Phar::interceptFileFuncs он помогает запускать любое веб-приложение + из phar-архива, никак его не меняя. + + + Phar::webPhar должен вызываться только из + загрузчика (stub) phar-архива (о том, что такое загрузчик и + как с ним работать, читайте тут). + + + + + &reftitle.parameters; + + + + alias + + + Псевдоним для использования в обертках phar://. + + + + + index + + + Местоположение в phar-архиве индексного файла. + + + + + f404 + + + Местоположение скрипта, отвечающего за обработку ошибки + HTTP 404. Скрипт должен возвращать корректные заголовки для этой ошибки. + + + + + mimetypes + + + Массив сопоставления расширений файлов типам MIME. + Если достаточно сопоставления по умолчанию, то передайте сюда пустой массив. + По умолчанию используются такие сопоставления: + + Phar::PHPS, // передается в highlight_file() + 'c' => 'text/plain', + 'cc' => 'text/plain', + 'cpp' => 'text/plain', + 'c++' => 'text/plain', + 'dtd' => 'text/plain', + 'h' => 'text/plain', + 'log' => 'text/plain', + 'rng' => 'text/plain', + 'txt' => 'text/plain', + 'xsd' => 'text/plain', + 'php' => Phar::PHP, // разбирается как PHP + 'inc' => Phar::PHP, // разбирается как PHP + 'avi' => 'video/avi', + 'bmp' => 'image/bmp', + 'css' => 'text/css', + 'gif' => 'image/gif', + 'htm' => 'text/html', + 'html' => 'text/html', + 'htmls' => 'text/html', + 'ico' => 'image/x-ico', + 'jpe' => 'image/jpeg', + 'jpg' => 'image/jpeg', + 'jpeg' => 'image/jpeg', + 'js' => 'application/x-javascript', + 'midi' => 'audio/midi', + 'mid' => 'audio/midi', + 'mod' => 'audio/mod', + 'mov' => 'movie/quicktime', + 'mp3' => 'audio/mp3', + 'mpg' => 'video/mpeg', + 'mpeg' => 'video/mpeg', + 'pdf' => 'application/pdf', + 'png' => 'image/png', + 'swf' => 'application/shockwave-flash', + 'tif' => 'image/tiff', + 'tiff' => 'image/tiff', + 'wav' => 'audio/wav', + 'xbm' => 'image/xbm', + 'xml' => 'text/xml', +); +?> + ]]> + + + + + + rewrites + + + Функция перезаписи, которой передается единственный строковый параметр и + которая должна также вернуть строку, либо &false;. + + + Если вы используете fast-cgi или cgi, то параметром, передаваемым в эту функцию + будет значение переменной $_SERVER['PATH_INFO']. + В ином случае передаваться будет значение переменной + $_SERVER['REQUEST_URI']. + + + Если будет возвращена строка, то она будет использована как путь + к файлу внутри архива. Если вернется &false;, то webPhar() пошлет + код ошибки HTTP 403. + + + + + + + + + &reftitle.returnvalues; + + &return.void; + + + + + &reftitle.errors; + + Выбросит исключение PharException, если будет невозможно + открыть какой либо файл, либо если вызывать ее не из загрузчика. + Если в параметре mimetypes указать некорректный MIME-тип, + или в rewrites будет передана некорректная функция + обратного вызова, то будет выброшено исключение + UnexpectedValueException. + + + + + &reftitle.examples; + + + Пример использования <function>Phar::webPhar</function> + + В примере ниже, созданный phar отобразит Hello World + при обращении из браузеа к /myphar.phar/index.php или к + /myphar.phar, и отобразит исходный код + index.phps при обращении к /myphar.phar/index.phps. + + +'; + $phar['index.phps'] = ''; + $phar->setStub(''); +} catch (Exception $e) { + // Обрабатываем ошибки +} +?> +]]> + + + + + + + &reftitle.seealso; + + + Phar::mungServer + Phar::interceptFileFuncs + + + + + + +