filicious / core
filicious 是 PHP 的高层次面向对象文件系统抽象。
1.0-alpha1
2014-08-13 15:02 UTC
Requires
- php: >=5.3
Requires (Dev)
- phpunit/phpunit: 3.*
- symfony/event-dispatcher: ~2.4
Suggests
- filicious/ftp: Adds ftp support to Filicious.
- filicious/sftp: Adds sftp support to Filicious.
- symfony/event-dispatcher: Add events to Filicious.
This package is auto-updated.
Last update: 2024-08-27 12:55:14 UTC
README
这是一个为 PHP 提供的高层次文件系统抽象,灵感来源于 Java 文件系统 API。
为什么还需要另一个文件系统抽象?
我们评估了各种文件系统抽象框架,如 Gaufrette。但我们发现没有哪个框架真正提供文件系统抽象。例如,Gaufrette 更像是一个 key => value
存储,使用文件系统或在线存储作为来源。一些基本功能,如删除目录在 Gaufrette 中是不可用的。跨文件系统适配器复制文件也是不可能的。
Filicious 的好处在于它是一个独特的层,...
- 每次与文件工作(包括临时文件)时都可以使用
- 可以跨多个文件系统使用(也可以在它们之间移动或复制文件)
- 几乎是 PHP 文件 API 的完全替代品
- 不隐藏文件结构
- 向文件系统提供高级和低级功能
- 与 PHP 迭代器一起工作
- 提供“合并”的文件系统,可以从多个文件系统构建合并的结构
- 支持流式传输
- 提供可配置的公共 URL 生成(对 Web 应用很有用)
从 Filicious 开始
use Filicious\Local\LocalAdapter; use Filicious\Filesystem; // go into your kitchen $adapter = new LocalAdapter('/var/lib/kitchen'); $kitchen = new Filesystem($adapter); // and grab the starter menu $starterMenuInKitchen = $kitchen->getFile('/starter.menu'); // access the lounge $adapter = new LocalAdapter('/var/lib/lounge'); $lounge = new Filesystem($adapter); // and move the starter menu from the kitchen to the lounge $starterMenuInLounge = $lounge->getFile('/starter.menu'); $starterMenuInKitchen->moveTo($starterMenuInLounge);
在filicious.github.io/how-to-use上了解更多信息。