filicious 是 PHP 的高层次面向对象文件系统抽象。

1.0-alpha1 2014-08-13 15:02 UTC

This package is auto-updated.

Last update: 2024-08-27 12:55:14 UTC


README

Build Status

这是一个为 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上了解更多信息。