Wallogit.com
2017 © Pedro Peláez
Virtual filesystems (like physfs) - with autoloading!
VirtFs is to PHP what PhysFs is to C. It allows you to create a virtual filesystem root, to then attach directories and archives to it, optionally mounted in their own virtual path in the vfs. In addition to this, VirtFs also registers a StreamWrapper to give you access to the VFS via a stream prefix, such as "userdata://.."., (*1)
$vfs = new VirtFs("dirs");
$vfs->add(new DirectoryMounter("./dir_a", "a"));
$vfs->add(new DirectoryMounter("./dir_b", "b"));
What we have now is:, (*2)
/ The filesystem root
|--a The contents of ./dir_a
'--b The contents of ./dir_b
In the above example, these would be valid:, (*3)
dirs://a/hello.txt - ./dir_a/hello.txt dirs://b/foo - ./dir_b/foo
To load plugins from individual .zip-archives, or directly from one or more plugin directories, see examples/autoloading/. These examples also demonstrates the autoloader, (*4)
To be able to autoload classes from a VirtFs filesystem, use the VirtFsLoader
class:, (*5)
use NoccyLabs\VirtFs\VirtFsLoader; $loader = new VirtFsLoader($virtfs); $loader->register