Codeception / Codeception/module-filesystem
Replace Filesystem, FTP with FlySystem in order to support more filesystems
- 主要言語
- PHP
- スター
- 20
- フォーク
- 7
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
"[FlySystem](http://flysystem.thephpleague.com/) is a filesystem abstraction which allows you to easily swap out a local filesystem for a remote one. Reducing technical debt and chance of vendor lock-in."
It could replace the custom FileSystem and FTP modules and offer support for many more filesystems. Here is a list of what's available today :
- Local
- Azure
- AWS S3 V2
- AWS S3 V3
- Copy.com
- Dropbox
- FTP / SFTP
- GridFS
- Memory
- Rackspace
- WebDAV
- PHPCR
- ZipArchive
### The API
http://flysystem.thephpleague.com/api/
#### Write Files
`$filesystem->write('path/to/file.txt', 'contents');`
#### Update Files
`$filesystem->update('path/to/file.txt', 'new contents');`
#### Write or Update Files
`$filesystem->put('path/to/file.txt', 'contents');`
#### Read Files
`$contents = $filesystem->read('path/to/file.txt');`
#### Check if a file exists
`$exists = $filesystem->has('path/to/file.txt');`
#### Delete Files
`$filesystem->delete('path/to/file.txt');`
#### Read and Delete
`$contents = $filesystem->readAndDelete('path/to/file.txt');`
#### Rename Files
`$filesystem->rename('filename.txt', 'newname.txt');`
#### Copy Files
`$filesystem->copy('filename.txt', 'duplicate.txt');`
#### Get Mimetypes
`$mimetype = $filesystem->getMimetype('path/to/file.txt');`
#### Get Timestamps
`$timestamp = $filesystem->getTimestamp('path/to/file.txt');`
#### Get File Sizes
`$size = $filesystem->getSize('path/to/file.txt');`
#### Create Directories
`$filesystem->createDir('path/to/nested/directory');`
#### Directories are also made implicitly when writing to a deeper path
`$filesystem->write('path/to/file.txt', 'contents');`
#### Delete Directories
`$filesystem->deleteDir('path/to/directory');`
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
調査の方向性
まず、Issue で言及されているカスタムの FileSystem モジュールと FTP モジュールを見つけ、説明にリンクされている FlySystem API とそれらの API を比較します。移行範囲を決める前に、既存モジュールの動作とサポートされている操作を整理します。置き換え後の実装が必要な操作をサポートし、現在の機能を失わず、モジュールのテストが通れば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- php
- 領域
- operating-systems, tooling
- issue の種類
- 機能追加
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 25/100