rfc:streamline-phar-api

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
rfc:streamline-phar-api [2008/03/28 15:09] – Adding metdata lstrojnyrfc:streamline-phar-api [2008/03/28 15:17] – Adding directory iterator adjustments lstrojny
Line 3: Line 3:
   * **Version:** 0.1   * **Version:** 0.1
   * **Date:** 2008-03-28   * **Date:** 2008-03-28
-  * **Author:** Lars Strojny+  * **Author:** Lars Strojny, based on ideas from Elizabeth M. Smith, Marcus Boerger, Benjamin Schulz
   * **Status:** Under development   * **Status:** Under development
  
Line 45: Line 45:
 $dir = $phar->createDirectory('foo'); $dir = $phar->createDirectory('foo');
 $dir['file'] = 'content'; // Set the file 'foo/file' to 'content' $dir['file'] = 'content'; // Set the file 'foo/file' to 'content'
 +</code>
 +
 +=== Adding static create()-factory method ==
 +== Proposal ==
 +Add a static create method to allow the convenient creation of a Phar-archive from the file system. The create()-method will take two arguments. The first argument is a string with the path to the archive. The second argument is a string with the path to the directory containing the files to be added to the archive. create() will return a Phar-object.
 +== Code ==
 +<code php>
 +$phar = Phar::create('test.phar', 'path/to/source/dir'); // Adds every file and subdirectory to test.phar
 </code> </code>
  
Line 95: Line 103:
 $file->isCompressed(Phar::GZ); // Is the file gzip compressed? $file->isCompressed(Phar::GZ); // Is the file gzip compressed?
 $file->isCompressed(Phar::BZ2); // Is the file bzip compressed? $file->isCompressed(Phar::BZ2); // Is the file bzip compressed?
 +</code>
 +
 +==== DirectoryIterator ====
 +=== Implement DirectoryIterator ===
 +Let DirectoryIterator implement the ArrayAccess interface. By accessing an array index of a directory iterator, the related SplFileInfo object is returned.
 +=== Code ===
 +<code php>
 +$iterator = new DirectoryIterator(__DIR__);
 +$file = $iterator['file'];
 </code> </code>
rfc/streamline-phar-api.txt · Last modified: 2017/09/22 13:28 by 127.0.0.1