WARNING: you're viewing docs for an outdated version. View the docs for the current version.
Architecture (V1)
Flysystem uses the adapter pattern. This pattern is especially
useful for mediating API incompatibilities, so itβs a perfect fit
for our use-case. The FilesystemInterface
represents the outside
boundary, it defines how you should interact and integrate with
Flysystem. This is very important because the default implementation,
the Filesystem
class, plays an important role in handling responses
from adapters.
Adapter Responses
Adapter returns results in two forms: a success boolean or a response array. The response array contains several fields:
key | description | type |
---|---|---|
type | file or dir |
string |
path | path to the file or dir | string |
contents | file contents | string |
stream | file contents | resource |
visibility | public or private |
string |
timestamp | modified time | integer |
In order to make the most out of every (expensive) filesystem call adapters return as much information as they can when/if available. This makes it possible for caching mechanisms to store this information so subsequent calls can be returned from cache without the need for additional filesystem calls.