rfc:streamline-phar-api
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
rfc:streamline-phar-api [2008/03/28 15:09] – Adding metdata lstrojny | rfc:streamline-phar-api [2008/03/28 15:42] – Adding proposal for SplFileObject lstrojny | ||
---|---|---|---|
Line 3: | Line 3: | ||
* **Version: | * **Version: | ||
* **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 | ||
===== Abstract ===== | ===== Abstract ===== | ||
This proposal aims to streamline the Phar API to make it more usable and intuitive. | This proposal aims to streamline the Phar API to make it more usable and intuitive. | ||
- | ===== Concrete | + | ===== Basic change proposals ===== |
Line 45: | Line 45: | ||
$dir = $phar-> | $dir = $phar-> | ||
$dir[' | $dir[' | ||
+ | </ | ||
+ | |||
+ | === 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:: | ||
</ | </ | ||
Line 96: | Line 104: | ||
$file-> | $file-> | ||
</ | </ | ||
+ | |||
+ | ==== 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[' | ||
+ | </ | ||
+ | |||
+ | ==== SplFileObject ==== | ||
+ | === Overload getContent()/ | ||
+ | It is necessary to overload getContent()/ | ||
+ | |||
+ | ===== Extended change proposals ===== | ||
+ | ==== SplFileObject ==== | ||
+ | === Rename methods === | ||
+ | == Renamed methods == | ||
+ | * eof() => isEndOfFile() | ||
+ | * fflush() => flush() | ||
+ | * fgetc() => getChar() | ||
+ | * fgetcvs() => getCsv() | ||
+ | * fgets() => getLine() | ||
+ | * fgetss() => getStripped() | ||
+ | * flock() => lock() | ||
+ | * fpassthru() => getRest() | ||
+ | * fseek() => seek() | ||
+ | * fstat() => stat() | ||
+ | * ftell() => getLine() | ||
+ | * ftruncate() => truncate() | ||
+ | * fwrite() => write() | ||
+ | == Proposal == | ||
+ | |
rfc/streamline-phar-api.txt · Last modified: 2017/09/22 13:28 by 127.0.0.1