Codeception / Codeception/module-filesystem

Replace Filesystem, FTP with FlySystem in order to support more filesystems

オープン
#8 コメント 6 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
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

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。