Weave Code
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

Flex Laravel Package

symfony/flex

Symfony Flex is a Composer plugin that streamlines installing and configuring Symfony packages. It uses recipes to auto-enable bundles, add config, env vars, and scripts, and keeps projects consistent across environments with minimal manual setup.

View on GitHub
Deep Wiki
Context7

Composer plugin for Symfony

Frequently asked questions about Flex
Can Symfony Flex be used in a Laravel project to manage Symfony dependencies like symfony/mailer or symfony/http-client?
Yes, Symfony Flex works in Laravel projects to automate configuration for Symfony components. For example, installing `symfony/mailer` via Flex will auto-generate `.env` variables and `config/packages/mailer.yaml`, reducing manual setup. However, it won’t handle Laravel-native packages (e.g., `laravel/ui`).
How do I install Symfony Flex in a Laravel project?
Install it globally or per-project with `composer require symfony/flex`. No additional Laravel-specific setup is needed. Flex activates automatically during `composer require` for Symfony packages, applying recipes to configure them. Test with `composer why-not symfony/mailer` to verify compatibility.
Will Symfony Flex conflict with Laravel’s Composer plugins like laravel/installer?
No known conflicts exist, but test edge cases like custom Composer scripts. Flex operates at the dependency layer, while Laravel plugins manage project scaffolding. Use `--no-plugins` if needed to isolate Flex for Symfony-only dependencies.
Does Symfony Flex support Laravel’s config structure (e.g., PHP arrays in `config/mail.php`) instead of Symfony’s YAML?
Flex defaults to Symfony’s YAML config format. For Laravel, you’ll need custom recipes or post-install scripts to convert YAML to PHP arrays. Example: Extend a recipe to generate `config/mail.php` alongside `config/packages/mailer.yaml` and merge them.
Can I use Symfony Flex to enforce consistent Symfony versions across Laravel microservices?
Yes, Flex’s Packs feature lets you define version constraints for Symfony libraries (e.g., `symfony/*@^6.0`). Add a `symfony/packs` entry to your project’s `composer.json` to standardize versions across services, even if some are Laravel-based.
What happens if a Flex recipe fails during `composer install` in CI/CD?
Flex recipes may add files (e.g., `.env` variables) or modify configs. Ensure your `.gitignore` excludes Flex-generated files like `var/cache/dev/` and test CI with `composer install --no-scripts` to isolate issues. Debug with `composer why symfony/mailer` if conflicts arise.
Are there alternatives to Symfony Flex for managing Symfony dependencies in Laravel?
Manual configuration is the baseline, but Flex is the most integrated solution. For Laravel-specific Symfony wrappers (e.g., `spatie/laravel-activitylog`), check if the package includes its own installer. Otherwise, use Flex for raw Symfony components and handle Laravel adaptations separately.
How does Symfony Flex handle Laravel’s config caching (e.g., `php artisan config:cache`)?
Flex-generated configs (e.g., YAML files) are cached like any other config. Run `php artisan config:cache` after Flex installs dependencies to ensure Symfony configs are compiled. Test in staging to confirm no conflicts with Laravel’s cached configs.
Can I customize or extend Flex recipes for Laravel-specific needs?
Yes, Flex recipes are PHP classes. Fork the [Symfony Flex repository](https://github.com/symfony/flex) or create a custom recipe in your project’s `composer.json` under `extra.symfony.allow-contrib`. Example: Override the `symfony/mailer` recipe to output `config/mail.php` instead of YAML.
What Laravel versions and PHP versions does Symfony Flex support?
Flex itself requires PHP 8.0+ and Composer 2.x, with no Laravel version dependency. It works alongside any Laravel 8.x/9.x/10.x project. Ensure your Symfony components (e.g., `symfony/mailer@^6.0`) are compatible with your Laravel version’s PHP requirements.
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.
hexters/coinpayment
rjcodes/rjcms
act-training/laravel-permissions-manager
alimarchal/laravel-chart-of-accounts
babenkoivan/elastic-scout-driver
mkwebdesign/filament-watchdog-v5
renatomarinho/laravel-page-speed
zedmagdy/filament-business-hours
renatovdemoura/blade-elements-ui
devgeek/beacon-admin
benjamin-rqt/data-watcher-bundle
atriumphp/atrium
sandermuller/package-boost-laravel
sandermuller/boost-skills
redaxo/core
yusufgenc/filament-api-forge
l3aro/rating-star-for-filament
leek/filament-subtenant-scope
anil/file-picker
broqit/fields-ai