PharData::convertToExecutable
Конвертация tar/zip-архива с данными в запускаемый phar-архив
&reftitle.description;
public PharnullPharData::convertToExecutable
intnullformat&null;
intnullcompression&null;
stringnullextension&null;
&phar.write;
Этот метод используется для конвертации незапускаемого tar/zip-архива а
запускаемый phar-архив. Может быть использован любой из трёх запускаемых форматов
(phar, tar или zip). Также допустимо сжатие архива целиком.
Если изменения не указаны, этот метод бросает исключение BadMethodCallException.
В случае успешного выполнения, этот метод создаёт новый архив на диске и возвращает объект
Phar. Старый архив остаётся нетронутым.
&reftitle.parameters;
format
Одна из констант: Phar::PHAR, Phar::TAR,
или Phar::ZIP. Если задано &null;, то будет сохранён текущий формат.
compression
Одна из констант: Phar::NONE (без сжатия всего архива),
Phar::GZ (zlib сжатие),
Phar::BZ2 (bzip сжатие).
extension
Этот параметр используется для явного задания расширения для нового архива.
Обратите внимание, что для того, чтобы обрабатываться как phar-архив,
файлы должны в своём расширении иметь .phar.
При конвертации в phar-архива, расширение по умолчанию
.phar, .phar.gz или .phar.bz2,
в зависимости от заданного типа сжатия. Для tar-архивов, расширение по умолчанию
.phar.tar, .phar.tar.gz,
и .phar.tar.bz2. Для zip-архивов расширение по умолчанию
.phar.zip.
&reftitle.returnvalues;
Этот метод возвращает объект Phar и &null; в случае возникновения ошибки.
&reftitle.errors;
Метод выбрасывает исключение BadMethodCallException если
не может произвести сжатие, либо если задан неизвестный алгоритм сжатия, для архива
включена буферизация с помощью Phar::startBuffering, а
метод Phar::stopBuffering не вызывался. Выбрасывается исключение
UnexpectedValueException, если запись запрещена.
И выбрасывается PharException, если возникли проблемы записи
на диск.
&reftitle.changelog;
&Version;
&Description;
8.0.0
format, compression и localName теперь допускают значение null.
&reftitle.examples;
Пример использования PharData::convertToExecutable
Используем PharData::convertToExecutable():
convertToExecutable(Phar::PHAR); // creates myphar.phar
$phar->setStub($phar->createDefaultStub('cli.php', 'web/index.php'));
// создаём myphar.phar.tgz
$compressed = $tarphar->convertToExecutable(Phar::TAR, Phar::GZ, '.phar.tgz');
} catch (Exception $e) {
// обработка ошибок
}
?>
]]>
&reftitle.seealso;
Phar::convertToExecutable
Phar::convertToData
PharData::convertToData