Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Polyfill Php84

Polyfill Php84 Laravel Package

symfony/polyfill-php84

Symfony polyfill that backports PHP 8.4 features to earlier PHP versions, including array_find, mb_trim, mb_ucfirst, fpow, bcdivmod, grapheme_str_split, the Deprecated attribute, PDO driver subclasses, and ReflectionConstant.

View on GitHub
Deep Wiki
Context7

Symfony polyfill backporting some PHP 8.4+ features to lower PHP versions

Frequently asked questions about Polyfill Php84
How do I install symfony/polyfill-php84 in a Laravel app?
Install it with Composer using composer require symfony/polyfill-php84. Laravel needs no service provider or manual configuration because the polyfill is loaded through Composer autoloading. Commit your composer.json and composer.lock changes so deployments use the same version.
Which PHP 8.4 features does symfony/polyfill-php84 backport?
It backports array_find, array_find_key, array_any, array_all, bcdivmod, fpow, mb_trim, mb_ltrim, mb_rtrim, mb_ucfirst, mb_lcfirst, grapheme_str_split, and ReflectionConstant. It also provides the Deprecated attribute, PDO driver-specific subclasses, and CURL_HTTP_VERSION_3 constants. These are exposed as global functions, classes, or constants only when the running PHP version does not provide them natively.
Does symfony/polyfill-php84 work with Laravel 9, 10, and 11?
Yes, it is framework-agnostic and has no Laravel-specific version constraint. It works in Laravel 9, 10, 11, and other releases as long as your PHP version and Composer dependencies are supported. The package only supplies PHP 8.4-compatible functions, attributes, and constants, so Laravel sees the same APIs it would on native PHP 8.4.
What PHP versions does symfony/polyfill-php84 support?
The package is intended for projects running older PHP versions than 8.4 and follows Symfony polyfill minimum PHP requirements, which are defined in its composer.json. Check the installed release constraint before adopting it on legacy PHP runtimes. On PHP 8.4 and later, native implementations take precedence and the polyfill does not override them.
Can I use array_find and array_all with Laravel Collections?
The polyfill provides PHP global functions, not additional Laravel Collection methods. You can use array_find and array_all on plain arrays or inside custom Collection callbacks, while existing methods such as firstWhere and contains keep working normally. They are useful for replacing small custom loops, but they do not change Collection's public API.
Is symfony/polyfill-php84 actively maintained and safe for production Laravel apps?
Yes, it is a widely used Symfony polyfill and the 1.43 release is a stabilization update focused on bug fixes rather than new behavior. It is safe for production when your PHP version and extensions match the package requirements, and when you keep parity tests for critical Unicode, math, and PDO paths. Pay attention to the PCRE version requirement for grapheme_str_split parity on older hosts.
What are the performance implications of using PHP 8.4 polyfills in Laravel?
Polyfilled functions are generally slower than native PHP 8.4 implementations because they run userland or compatibility code. Avoid relying on them in extremely hot loops or high-throughput paths unless benchmarks show acceptable overhead. On PHP 8.4 the native functions are used, so the polyfill overhead disappears.
Do I need to configure Laravel to use symfony/polyfill-php84?
No Laravel configuration is required. Composer autoloading registers the polyfill's bootstrap files, and functions are defined only when the native PHP 8.4 feature is missing. You can call mb_trim, array_find, bcdivmod, or use the Deprecated attribute directly after installation.
How should I test polyfill parity in a Laravel project?
Run your test suite on the oldest PHP version you support with the polyfill installed, then run the same tests on native PHP 8.4. Compare outputs for functions such as mb_trim, grapheme_str_split, bcdivmod, array_find, and fpow, especially around Unicode and numeric edge cases. Treat these tests as regression guards for future polyfill updates.
What alternatives are there to symfony/polyfill-php84?
The best alternative is upgrading to PHP 8.4 so the functions, attributes, and constants are native. You can also use narrower polyfills or helper libraries for specific needs, such as mbstring, intl grapheme, or BCMath helpers, but that often means assembling multiple packages. symfony/polyfill-php84 is convenient when you want one maintained compatibility layer for many PHP 8.4 features in Laravel.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
roundly-consulting/kubernetes-api-for-laravel
roundly-consulting/plausible-for-laravel
gvp/gvp-laravel-template
metasyncsite/laravel-metasync-client
roundly-consulting/onboarding-for-laravel
andydefer/laravel-notification
adachsoft/cli-process-tester
jhaskell13/laraflow
sebastienheyd/boilerplate-media-manager
ccast/tagixo-primix
pretendtrue/laravel-builder
sawmainek/laravel-scout-tntsearch-driver
tomshaw/laravel-calendar-table
dibakar/laravel-ownership
steadrun/laravel-monitor
labyrinthe/connect-laravel
elmogy/layan
drewdan/sentinel-client
dskripchenko/laravel-llm
fatryst/nuonuo