Codeception / Codeception/module-filesystem

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

Ouverte
#8 6 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
PHP
Étoiles
20
Forks
7
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

"[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');`

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Piste de recherche

Commencez par localiser les modules FileSystem et FTP personnalisés mentionnés dans l’issue, puis comparez leurs APIs avec l’API FlySystem liée dans la description. Recensez le comportement des modules existants et les opérations prises en charge avant de décider de la portée de la migration ; le travail est considéré comme terminé lorsque le remplacement prend en charge les opérations requises sans perdre les fonctionnalités actuelles et que les tests des modules passent.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
php
Domaine
operating-systems, tooling
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
25/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.