Summary | Horde_Vfs rewrite |
Queue | Horde Framework Packages |
Queue Version | HEAD |
Type | Enhancement |
State | Accepted |
Priority | 1. Low |
Owners | |
Requester | chuck (at) horde (dot) org |
Created | 06/30/2008 (6162 days ago) |
Due | |
Updated | 04/07/2009 (5881 days ago) |
Assigned | |
Resolved | |
Milestone | |
Patch | No |
possible. Some of the current VFS backends have readStream() methods
already. MDB2 may provide access to database blobs through streams,
for reference. Stream support should be added to Horde_Db, as well.
Priority ⇒ 1. Low
Patch ⇒ No
Milestone ⇒
Queue ⇒ Horde Framework Packages
Summary ⇒ Horde_Vfs rewrite
Type ⇒ Enhancement
State ⇒ New
Horde_Vfs_File (allow subclassing and specifying the file class to
instantiate)
Horde_Vfs_Folder (allow subclassing and specifying the folder class to
instantiate)
Filtering iterator, but let the adapter do the filter if it can. I.e,
Horde_Vfs_Filter_Glob -> the file backend can do the glob natively, so
the result isn't wrapped with that filter. Something like:
$vfs->ls($dir, array(new Horde_Vfs_Filter_Glob('*.php')));
- backend gets the array of filters
- if the backend can apply the filter it does
- otherwise, the resulting Horde_Vfs_Folder_Iterator is wrapped with a
filtering iterator to apply the filter
- Subclass or copy SplFileObject, some of the DirectoryIterator stuff?
What else can be done with stream wrappers?
php -r "var_dump(stream_get_wrappers());"
array(14) {
[0]=>
string(3) "php"
[1]=>
string(4) "file"
[2]=>
string(4) "data"
[3]=>
string(4) "http"
[4]=>
string(3) "ftp"
[5]=>
string(13) "compress.zlib"
[6]=>
string(5) "https"
[7]=>
string(4) "ftps"
[8]=>
string(10) "ssh2.shell"
[9]=>
string(9) "ssh2.exec"
[10]=>
string(11) "ssh2.tunnel"
[11]=>
string(8) "ssh2.scp"
[12]=>
string(9) "ssh2.sftp"
[13]=>
string(3) "zip"
}