This is an old revision of the document!
Request for comments: Streamline Phar API
Abstract
This proposal aims to streamline the Phar API to make it more usable and intuitive.
Concrete change proposals
SplFileInfo
setContent/getContent
Proposal
Add two simple methods to write/retrieve content. == Code =
$file = new SplFileInfo("file"); $file->setContent('foo'); echo $file->getContent(); // returns 'foo'
PharFileInfo
setCompressed*() methods
Related methods
* setCompressedBZIP2() * setCompressedGZ() * setUncompressed()
Proposal
Unify this methods to a single method compress(). The compress method will take one argument indicating the compression algorithm. The compression algorithm is represented as a Phar class constant. The setUncompressed() method should be renamed to uncompress().
Code
$file->compress(Phar::BZIP2); // Compress with bzip2 $file->compress(Phar::GZIP); // Compress with gzip $file->uncompress();
isCompressed*() methods
Related methods
* isCompressedBZIP2() * isCompressedGZ() * isCompressed()
Proposal
Unify this methods to one PharFileInfo::isCompressed(). The new isCompressed() would take an optional argument with the compression algorithm. The compression algorithm is represented as a Phar class constant.
Code
$file->isCompressed(); // Is the file compressed at all? $file->isCompressed(Phar::GZIP); // Is the file gzip compressed? $file->isCompressed(Phar::BZIP2); // Is the file bzip compressed?