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 I use Symfony Flex in a Laravel project to auto-configure Symfony components like symfony/mailer or api-platform/core?
Yes, Symfony Flex can automate the setup of Symfony components in Laravel by generating config files, environment variables, and scripts. However, you’ll need to manually merge configs between Laravel’s `config/` directory and Symfony’s `config/packages/` or create custom recipes to adapt Symfony’s defaults to Laravel’s structure. Test thoroughly, especially for critical bundles like security or auth.
How do I install Symfony Flex in a Laravel project?
Run `composer require symfony/flex` in your Laravel project. Flex will auto-install as a Composer plugin. For existing projects, use `composer require symfony/flex --dev` and then run `composer install` or `composer update`. Ensure your `composer.json` constraints align with Flex’s locked Symfony versions to avoid conflicts.
Will Symfony Flex overwrite my Laravel config files like config/app.php or .env?
Flex may generate or modify files in `config/packages/` or other Symfony-standard locations, but it won’t directly overwrite Laravel’s core configs by default. Use `--no-scripts` during installation to skip auto-configuration, or create custom recipes to preserve Laravel-specific files. Always back up configs before running Flex.
Does Symfony Flex support Laravel 10 or older versions like Laravel 8?
Symfony Flex requires PHP 8.1+ (as of v2.9.0) and works best with Laravel 9+. For Laravel 8, you may need to downgrade Flex to an older version (e.g., v1.x) or manually resolve compatibility issues. Check the [Symfony Flex docs](https://symfony.com/doc/current/setup/flex.html) for version-specific requirements and constraints.
How do I handle conflicts between Laravel’s service providers and Symfony bundles registered via Flex?
Symfony bundles register services in `config/packages/`, while Laravel uses `AppServiceProvider` or `config/services.php`. Manually bind Symfony services in Laravel’s container via `bind()` in a service provider or override configs in `config/app.php`. For complex cases, create a custom Flex recipe to generate Laravel-compatible service bindings.
Can I use Symfony Flex to add Symfony’s Webpack Encore or Mercure to my Laravel project?
Yes, Flex can auto-install Webpack Encore or Mercure by including their Symfony bundles (e.g., `symfony/webpack-encore-bundle`). However, you’ll need to adapt the generated configs to Laravel’s asset pipeline (e.g., Vite or Laravel Mix) or merge Webpack Encore’s setup with Laravel’s existing build tools. Check for recipe overrides or post-install scripts to handle this.
What’s the best way to test Symfony Flex in a Laravel project before production?
Start by testing Flex in a staging environment with a clone of your production `composer.json`. Use `--dry-run` with Flex commands to preview changes, and audit generated files for conflicts. Focus on critical bundles (e.g., security, auth) and verify that Laravel’s routes, middleware, and service providers still function. Roll back with `git checkout` if issues arise.
Are there alternatives to Symfony Flex for auto-configuring Symfony components in Laravel?
Alternatives include manually configuring Symfony bundles via `composer require` and editing Laravel’s configs, or using Laravel-specific packages like `spatie/laravel-package-tools` for custom bundle integration. However, Flex is the most comprehensive solution for Symfony components, offering recipes, scripts, and environment setup out of the box. For minimal setups, a custom `post-install-cmd` script in `composer.json` may suffice.
How do I create a custom Flex recipe for a Laravel-Symfony hybrid project?
Custom recipes extend Flex’s functionality by defining how bundles should be installed and configured. Start by studying Symfony’s [recipe format](https://symfony.com/doc/current/setup/flex.html#creating-a-recipe), then create a `Resources/config/recipes/` directory in your bundle. Use Laravel-specific templates to generate files in `config/`, `routes/`, or `AppServiceProvider`. Test recipes locally with `composer require your-bundle --dev`.
What should I do if Symfony Flex causes issues in production, like broken routes or missing services?
First, roll back to a known working state using version control (e.g., `git revert` or `composer show --installed`). If the issue persists, check for conflicting configs in `config/packages/` and `config/`, and ensure Laravel’s service container is properly initialized. For critical failures, temporarily disable Flex by removing it from `composer.json` and reinstalling dependencies. Document the issue and consider filing a feature request for Laravel-specific recipe improvements.
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.
codraw/entity-migrator
codraw/doctrine-extra
codraw/aws-tool-kit
codraw/validator
codraw/workflow
codraw/open-api
codraw/cron-job
codraw/process
codraw/log
nexmo/api-specification
capell-app/block-library
axium/identity
cetria/laravel-dummy-models
cetria/reflection-helper
agropredict/sso-auth-bundle
evolvestudio/spam-protection
datacore/hub-sdk
develia/commons
cuci/prototurk-sdk
cuci/prototurk-sdk-symfony