[12.x] Add streamableUri function to FilesystemAdapter class #55375
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.
Description
This PR adds two new methods to the
Illuminate/Filesystem/FilesystemAdapter.php
class.Theese methods are intended to offer a way for developers to set a default PHP stream wrapper prefix in the filesystem configuration, and get a proper URI to directly access a file through PHP default file manipulation functions (
fopen
,file_get_contents
, etc).The reasoning behind this PR is to add a convenient way to integrate Laravel filesystems to external file manipulation libraries that work exclusively with resources.
Usage
A user may define a default stream wrapper in the
filesystems.php
config file:Then, through the
Storage
facade, the user may check if a given filesystem can provide a streamable URI:For getting the actual path, the user can use the following function:
Conclusion
I am open to feedback on this. The feature has been relevant to my workspace, and I believe it could be a good addition to the framework.