Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is a preliminary PR porting FlyFinder to Flysystem 3 and minimum PHP 8, motivated by our use of (and contributions to) FlyFinder, combined with our desire to free ourselves from the antedeluvial Flysystem 1 dependence.
Summary:
Finder
constructor takes aFilesystemOperator
object,handle()
was renamed tofind()
, and you invoke it on theFinder
object.array
with file/directory attributes will takearray|StorageAttributes
now. This is preliminary, and thearray
alternative is probably only used in tests that will need further tweaking to properly mockFileAttributes
andDirectoryAttributes
objects.pathinfo()
, regex,str_*()
), becauseStorageAttributes
only offer unparsedpath
- this is an optimization decision by Flysystem authors, to avoid parsing every path where it isn't known to be needed.Things I got green:
StorageAttributes
mocking)Things I'd appreciate help with:
@psalm-pure
. Previously native array accesses to$value['path']
are nowProxyArrayAccessToProperties::offsetGet()
, and Flysystem authors either neglected or couldn't mark it as pure. We can give up being pure ourselves, suppress the diagnostic (which is what I did for now), or plead with Flysystem authors.make install-phive
fails ongpg --recv-keys