-
Notifications
You must be signed in to change notification settings - Fork 11.6k
[8.x] Adds PHP 8.1 support to serializable closures #38801
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Co-authored-by: Dries Vints <dries@vints.io>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍 assuming this has been tested on a real app. :)
* Add ReturnTypeWillChange to SessionHandlerInterface usages * Bump commonmark * Fix getIterator * Use Symfony 5.4 components * Dev mockery * Mimic PHP 8.0 * Try removing symfony components * Mockery * Fix type errors in db tests (#38696) * Fix type errors in db tests * Apply fixes from StyleCI Co-authored-by: Taylor Otwell <taylorotwell@users.noreply.github.com> * Additional DB test fixes (#38699) * More DB fixes (#38700) * PHP 8.1 prefer-lowest builds * Remove skipping PHP 8.1 builds * Bump PHPUnit * Revert "PHP 8.1 prefer-lowest builds" This reverts commit d5b01d2. * [8.x] Adds PHP 8.1 support to serializable closures (#38801) * Makes serializable closures work with PHP 8.1 * Apply fixes from StyleCI * Fixes PHP 7.3 tests * Refactors * Updates deprecated warning Co-authored-by: Dries Vints <dries@vints.io> * Fixes restoring properties * Update QueueServiceProvider.php Co-authored-by: Taylor Otwell <taylorotwell@users.noreply.github.com> Co-authored-by: Dries Vints <dries@vints.io> Co-authored-by: Taylor Otwell <taylor@laravel.com> * Fix default value * Fix mb_strlen value * Adds `continue-on-error` for PHP 8.1 * [8.x] Add explicit `@return` annotations in `{@inheritdoc}` from vendors and add some missing `#[\ReturnTypeWillChange]` (#38819) * Add explicit `@return` to `{@inheritdoc}` PHPDoc * Use `return null;` when the return type is `null` * Skips PHP 8.1 failing tests * Skips some more PHP 8.1 related tests * Skips some more PHP 8.1 related tests * Skips some more PHP 8.1 related tests * Skips some more PHP 8.1 related tests * Skips some more PHP 8.1 related tests * Skips some more PHP 8.1 related tests * Skips some more PHP 8.1 related tests * Update SerializableClosure.php Co-authored-by: Graham Campbell <GrahamCampbell@users.noreply.github.com> Co-authored-by: Taylor Otwell <taylorotwell@users.noreply.github.com> Co-authored-by: Nuno Maduro <enunomaduro@gmail.com> Co-authored-by: Taylor Otwell <taylor@laravel.com> Co-authored-by: Wouter J <wouterj@users.noreply.github.com>
We're seeing some exceptions thrown on our queues, because both of the libraries are trying to register the same stream protocol:
opis/closure author says he gained the right to dont check if it's in use: Maybe laravel/serializable-closure should register a different protocol name |
Please create a new issue on the serializable closure repository. |
* Add ReturnTypeWillChange to SessionHandlerInterface usages * Bump commonmark * Fix getIterator * Use Symfony 5.4 components * Dev mockery * Mimic PHP 8.0 * Try removing symfony components * Mockery * Fix type errors in db tests (laravel#38696) * Fix type errors in db tests * Apply fixes from StyleCI Co-authored-by: Taylor Otwell <taylorotwell@users.noreply.github.com> * Additional DB test fixes (laravel#38699) * More DB fixes (laravel#38700) * PHP 8.1 prefer-lowest builds * Remove skipping PHP 8.1 builds * Bump PHPUnit * Revert "PHP 8.1 prefer-lowest builds" This reverts commit d5b01d2. * [8.x] Adds PHP 8.1 support to serializable closures (laravel#38801) * Makes serializable closures work with PHP 8.1 * Apply fixes from StyleCI * Fixes PHP 7.3 tests * Refactors * Updates deprecated warning Co-authored-by: Dries Vints <dries@vints.io> * Fixes restoring properties * Update QueueServiceProvider.php Co-authored-by: Taylor Otwell <taylorotwell@users.noreply.github.com> Co-authored-by: Dries Vints <dries@vints.io> Co-authored-by: Taylor Otwell <taylor@laravel.com> * Fix default value * Fix mb_strlen value * Adds `continue-on-error` for PHP 8.1 * [8.x] Add explicit `@return` annotations in `{@inheritdoc}` from vendors and add some missing `#[\ReturnTypeWillChange]` (laravel#38819) * Add explicit `@return` to `{@inheritdoc}` PHPDoc * Use `return null;` when the return type is `null` * Skips PHP 8.1 failing tests * Skips some more PHP 8.1 related tests * Skips some more PHP 8.1 related tests * Skips some more PHP 8.1 related tests * Skips some more PHP 8.1 related tests * Skips some more PHP 8.1 related tests * Skips some more PHP 8.1 related tests * Skips some more PHP 8.1 related tests * Update SerializableClosure.php Co-authored-by: Graham Campbell <GrahamCampbell@users.noreply.github.com> Co-authored-by: Taylor Otwell <taylorotwell@users.noreply.github.com> Co-authored-by: Nuno Maduro <enunomaduro@gmail.com> Co-authored-by: Taylor Otwell <taylor@laravel.com> Co-authored-by: Wouter J <wouterj@users.noreply.github.com>
This pull request adds PHP 8.1 support to serializable closures by replacing opis/closure by laravel/serializable-closure.
4.x
is a complete rewrite on top of the FFI extension. As Laravel is a web framework, and FFI is not enabled by default in web requests (and some OS's), this fork allows us to keep using the 3.x series while adding support for new PHP versions - including PHP 8.1.8.x
. Yet, the package opis/closure is scheduled for removal in Laravel9.x
. By then, normally people no longer have queued jobs, and cached routes, using the old format. Of course, every new queued jobs, and cached routes, will be using laravel/serializable-closure for serialization.8.x
branch, instead ofphp81-fixes
.Remaining tasks before merging this pull request:
8.x
branch, instead ofphp81-fixes
, so people can start using these changes sooner.