Класс Phar
(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0)
Введение
Класс Phar предоставляет высокоуровневый интерфейс для доступа и создания архивов phar.
Обзор классов
public addFile(
string $file
,
string $localname
= ?):
void
public compress(
int $compression
,
string $extension
= ?):
Phar
public __construct(
string $fname
,
int $flags
= ?,
string $alias
= ?)
public copy(
string $oldfile
,
string $newfile
):
bool
final public static createDefaultStub(
string $indexfile
= ?,
string $webindexfile
= ?):
string
public delete(
string $entry
):
bool
public extractTo(
string $pathto
,
string|array|null $files
= null
,
bool $overwrite
= false
):
bool
final public static loadPhar(
string $filename
,
string $alias
= ?):
bool
final public static mapPhar(
string $alias
= ?,
int $dataoffset
= 0):
bool
final public static mount(
string $pharpath
,
string $externalpath
):
void
final public static mungServer(
array $munglist
):
void
public offsetSet(
string $offset
,
string $value
):
void
final public static running(
bool $retphar
= true
):
string
public setStub(
string $stub
,
int $len
= -1):
bool
final public static webPhar(
string $alias
= ?,
string $index
= "index.php",
string $f404
= ?,
array $mimetypes
= ?,
callable $rewrites
= ?):
void
}
Содержание
- Phar::addEmptyDir — Добавляет в phar-архив пустую директорию
- Phar::addFile — Добавляет в phar-архив файл из файловой системы
- Phar::addFromString — Добавляет в phar-архив файл из строки
- Phar::apiVersion — Возвращает версию API
- Phar::buildFromDirectory — Создаёт phar-архив из файлов, расположенных внутри директории
- Phar::buildFromIterator — Создаёт phar-архив из итератора
- Phar::canCompress — Проверяет, поддерживает ли модуль phar сжатие с использованием zlib или bzip2
- Phar::canWrite — Проверяет, поддерживает ли модуль phar сохранение и создание phar-архивов
- Phar::compress — Сжимает весь Phar-архив с помощью Gzip- или Bzip2-сжатия
- Phar::compressFiles — Сжимает все файлы в текущем Phar-архиве
- Phar::__construct — Создаёт объект Phar-архива
- Phar::convertToData — Конвертирует phar-архив в неисполняемый tar- или zip-файл
- Phar::convertToExecutable — Конвертирует phar-архив в другой исполняемый формат файла
- Phar::copy — Копирует один файл внутри phar-архива в другой новый файл внутри phar-архива
- Phar::count — Возвращает количество записей (файлов) в Phar-архиве
- Phar::createDefaultStub — Создать заглушку в формате phar-архива
- Phar::decompress — Распаковывает весь Phar-архив
- Phar::decompressFiles — Распаковывает все файлы в текущем Phar-архиве
- Phar::delMetadata — Удалить глобальные метаданные в архиве phar
- Phar::delete — Удаляет файл внутри phar-архива
- Phar::extractTo — Извлечь содержимое phar-архива в директорию
- Phar::getAlias — Получить псевдоним для Phar
- Phar::getMetadata — Извлечь метаданные phar-архива
- Phar::getModified — Определить, изменялся phar-архив
- Phar::getPath — Получить реальный путь к Phar-архиву на диске
- Phar::getSignature — Получить MD5/SHA1/SHA256/SHA512/OpenSSL подпись Phar-архива
- Phar::getStub — Получить загрузчик PHP или загрузчик заглушки Phar-архива
- Phar::getSupportedCompression — Возвращает массив поддерживаемых алгоритмов сжатия
- Phar::getSupportedSignatures — Получить массив поддерживаемых алгоритмов подписи архива
- Phar::getVersion — Получить версию Phar-архива
- Phar::hasMetadata — Проверить, содержит ли phar-архив глобальные метаданные
- Phar::interceptFileFuncs — Указывает phar перехватывать fopen, file_get_contents, opendir и все stat-функции
- Phar::isBuffering — Проверить, будут ли операции с Phar-архивом буферизованы или записаны напрямую на диск
- Phar::isCompressed — Возвращает Phar::GZ или PHAR::BZ2, если phar-архив сжат целиком (.tar.gz/tar.bz и так далее)
- Phar::isFileFormat — Проверить, что phar-архив имеет заданный формат (tar/phar/zip)
- Phar::isValidPharFilename — Проверяет, что заданное имя файла является корректным именем phar-архива
- Phar::isWritable — Проверяет, можно ли модифицировать phar-архив
- Phar::loadPhar — Загрузить phar-архив с псевдонимом
- Phar::mapPhar — Прочитать текущий запущенный phar-архив и зарегистрировать его манифест
- Phar::mount — Монтирование внешнего путь или файла к виртуальному пути в phar-архиве
- Phar::mungServer — Определить список до четырёх $_SERVER-переменных, которые должны быть изменены для запуска
- Phar::offsetExists — Определить, есть ли файл в архиве
- Phar::offsetGet — Получить объект PharFileInfo для конкретного файла
- Phar::offsetSet — Изменение содержимого файла
- Phar::offsetUnset — Удалить файл из phar-архива
- Phar::running — Получить полный путь на диске, либо полный URL запущенного Phar-архива
- Phar::setAlias — Установить псевдоним для Phar-архива
- Phar::setDefaultStub — Установить загрузчик PHP или начальную заглушку Phar-архива в загрузчик по умолчанию
- Phar::setMetadata — Установить метаданные phar-архива
- Phar::setSignatureAlgorithm — Установить алгоритм подписания phar-архива и применение его
- Phar::setStub — Установить загрузчик или загрузочную заглушку в Phar-архив
- Phar::startBuffering — Запускает буферизацию операций записи, отключая запись изменений Phar-архива на диск
- Phar::stopBuffering — Останавливает буферизацию и записывает все изменения на диск
- Phar::unlinkArchive — Полностью удалить архив из памяти и с диска
- Phar::webPhar — mapPhar для phar-архивов на базе веб. Контроллер фронтенда для веб-приложений
cornelius dot howl at gmail dot com ¶12 years ago
Onion utility can help you compile a package into a phar file (executable script file or library file)
https://github.com/c9s/Onion
$ onion.phar compile \
--executable \
--classloader \
--bootstrap scripts/onion.embed \
--lib src \
--lib ../CLIFramework/src \
--lib ../GetOptionKit/src \
--output onion.phar
halfdan ¶15 years ago
Hey, I thought writing a small article about the upcoming functionality and appearance of Phar in php5.3 might be a nice thing. So I did this at http://geekmonkey.org/articles/PHP_Archives - hope to save others some time when working with Phar.