azuracast / flysystem-v2-extensions
此包已被废弃,不再维护。没有建议的替代包。
扩展 Flysystem V2 功能。
1.0.0
2021-06-21 02:10 UTC
Requires
- php: ^7.4 || ^8.0
- league/flysystem: ^2.1
Requires (Dev)
- league/flysystem-aws-s3-v3: ^2.0
- php-parallel-lint/php-console-highlighter: ^0.5.0
- php-parallel-lint/php-parallel-lint: ^1.3
- phpstan/phpstan: ^0.12.26
- roave/security-advisories: dev-latest
- spatie/flysystem-dropbox: ^2.0
Suggests
- league/flysystem-aws-s3-v3: AWS S3 API version 3 adapter for Flysystem V2.
- spatie/flysystem-dropbox: Dropbox adapter for Flysystem V2.
README
此库包含用于Flysystem文件抽象库版本2的扩展功能。
许多功能旨在恢复类似于 Flysystem V1 的用户体验,并允许更容易地为第三方目的定制 Flysystem。
扩展类中的任何部分都可以与基础 Flysystem 类互换使用。
新增功能
扩展适配器
-
getMetadata 函数:支持适配器已添加
getMetadata
调用来替代单独的元数据调用,与 Flysystem 1.x 的功能保持一致。这也减少了如果需要文件的完整元数据并使用getMetadata
函数在文件系统级别时,冗余的 API 调用。 -
延迟加载 StorageAttributes:为了确保所有元数据都可在
StorageAttributes
返回对象中可用,即使某些项目可能计算成本较高,一些元数据属性可以提供为可调用的函数,在调用时解析。目前这仅适用于visibility
属性,因为它是计算成本最高的一个。 -
磁盘适配器优化:本地、磁盘适配器实现了一个新的
LocalAdapterInterface
,只有一个方法:getLocalPath
;如果您的应用程序内置了对磁盘文件系统的优化,这允许您立即确定您使用的文件系统是否在磁盘上。
文件系统变更
-
公开了额外的元数据函数
getMetadata
返回一个对象中的任何可用StorageAttributes
isFile
,对应于StorageAttributes
中的isFile()
函数isDir
,对应于StorageAttributes
中的isDir()
函数
-
公开了一个新方法,
getAdapter
,允许直接访问底层适配器接口。 -
辅助类和方法,以进一步区分本地和远程文件系统
LocalFilesystem
,用于与LocalFilesystemAdapter
一起使用RemoteFilesystem
,带有一个可选的$local_path
参数,用于远程适配器,这些适配器可能仍然需要创建一个临时本地文件来与其他脚本交互upload
,一个辅助工具,用于从本地磁盘复制到目标文件系统download
,一个辅助工具,用于从源文件系统复制到本地磁盘withLocalFile
,一个辅助工具,它提供一个带有文件路径的可调用函数,该文件路径保证是在磁盘上的,即使文件系统本身是远程的。
支持的适配器
目前,此库是一个包含所有适配器的单仓库,这些适配器用于使用此库的主要应用程序
- 本地:本地、磁盘文件系统。
- AwsS3:支持 AWS S3 存储API的远程文件系统。
- Dropbox:Dropbox应用程序上的云存储远程文件系统。