Refactor Disk, MediaExporter, HLSExporter, and MediaOpener for PHP 7.… #537
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 PR refactors and improves the internal code quality of the following classes in the ProtoneMedia\LaravelFFMpeg package:
Disk.php
MediaExporter.php
HLSExporter.php
MediaOpener.php
✅ Improvements Made
✅ Replaced PHP-reserved method clone() with cloneDisk() and cloneOpener() to ensure future compatibility.
✅ Added modern PHP 7.4+ typed properties for better type safety.
✅ Improved readability, indentation, and method docblocks for maintainability.
✅ Ensured consistency across the exporter and filesystem-related classes.
✅ Refactored inline callbacks to use concise fn() syntax where applicable.
✅ No changes to public-facing functionality (backward compatible).
📌 Why This Change?
To modernize the codebase with current PHP practices.
To remove ambiguity around reserved method names (clone()).
To support future upgrades of the PHP version in Laravel projects.
To make the codebase easier for new contributors and maintainers to understand and work with.
Please feel free to suggest changes. Happy to iterate if needed! 🙌