fi1a / filesystem
PHP filesystem 提供文件系统的抽象层
1.0.8
2023-02-26 01:27 UTC
Requires
- php: ^7.3 || ^8
- ext-fileinfo: *
- fi1a/collection: ^2.0
Requires (Dev)
- captainhook/captainhook: ^5.4
- phpunit/phpunit: ^9.3
- slevomat/coding-standard: ^6.3
- squizlabs/php_codesniffer: ^3.5
- vimeo/psalm: ^4.3
README
文件系统抽象层允许开发应用程序时无需知道文件存储的位置和方式。提供统一的接口来与不同类型的文件系统交互。同时,文件和文件夹的抽象类也包含了一些辅助方法来处理它们。
可用的适配器
Fi1a\Filesystem\Adapters\LocalAdapter- 文件系统适配器。
安装
可以使用 Composer 将此包作为依赖项安装。
composer require fi1a/filesystem
文件系统类
文件系统类提供了三个工厂方法来获取文件和文件夹的抽象类。
- factory - 根据传入的路径创建文件或文件夹的抽象对象;
- factoryFolder - 创建文件系统的文件夹抽象对象;
- factoryFile - 创建文件系统的文件抽象对象。
use Fi1a\Filesystem\Adapters\LocalAdapter; use Fi1a\Filesystem\Filesystem; $adapter = new LocalAdapter(__DIR__ . '/Resources'); $filesystem = new Filesystem($adapter); $folder = $filesystem->folder('./folder'); // Fi1a\Filesystem\FolderInterface $folder->make(); $folder = $filesystem->factory('./folder'); // Fi1a\Filesystem\FolderInterface $folder->isExist(); // true $file = $filesystem->file($folder->getPath() . '/file.txt'); // Fi1a\Filesystem\FileInterface $file->make(); $file = $filesystem->factory('/folder/file.txt'); // Fi1a\Filesystem\FileInterface $file->isExist(); // true
文件夹抽象类
文件夹抽象类旨在简化与文件夹的操作,无论选择的文件系统是什么。
Fi1a\Filesystem\FolderInterface 的方法
创建文件夹的示例
use Fi1a\Filesystem\Adapters\LocalAdapter; use Fi1a\Filesystem\Filesystem; $adapter = new LocalAdapter(__DIR__ . '/Resources'); $filesystem = new Filesystem($adapter); $folder = $filesystem->folder('./folder'); // Fi1a\Filesystem\FolderInterface if (!$folder->isExist()) { $folder->make(); // true }
文件抽象类
文件抽象类旨在简化与文件的操作,无论选择的文件系统是什么。
Fi1a\Filesystem\FileInterface 的方法
写入文件的示例
use Fi1a\Filesystem\Adapters\LocalAdapter; use Fi1a\Filesystem\Filesystem; $adapter = new LocalAdapter(__DIR__ . '/Resources'); $filesystem = new Filesystem($adapter); $file = $filesystem->file('./folder/file.txt'); // Fi1a\Filesystem\FileInterface $file->write('file content'); // 12
适配器
文件系统适配器
文件系统适配器 Fi1a\Filesystem\Adapters\LocalAdapter 用于在抽象类中使用本地文件系统。
use Fi1a\Filesystem\Adapters\LocalAdapter; use Fi1a\Filesystem\Filesystem; $adapter = new LocalAdapter(__DIR__ . '/Resources'); $filesystem = new Filesystem($adapter);
Fi1a\Filesystem\Adapters\LocalAdapter 构造函数的参数
文件系统辅助方法包含在类 Fi1a\Filesystem\Utils\LocalUtil 中