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
Doctrine Bridge

Doctrine Bridge Laravel Package

symfony/doctrine-bridge

Symfony Doctrine Bridge connects the Doctrine project with Symfony components, supplying form types, validators, security user providers, event listeners, and other integration code for Doctrine-backed Symfony apps. A core part of the Symfony framework.

View on GitHub
Deep Wiki
Context7

Symfony Doctrine Bridge connects Doctrine (ORM, DBAL, and related projects) with a wide range of Symfony components, letting you use Doctrine entities and connections seamlessly throughout a Symfony application.

It wires Doctrine into Symfony's dependency injection, Form, Validator, Security, Serializer, Messenger, and PropertyInfo components, so entity forms, unique-entity validation, and repository services work out of the box.

  • Form entity type and Doctrine-backed data transformers
  • Validator constraints such as UniqueEntity and EntityExists
  • Security EntityUserProvider for entity-based authentication
  • DI compiler passes, repository factories, and container-aware event listeners
  • Serializer, Messenger, and PropertyInfo integration
Frequently asked questions about Doctrine Bridge
Can I use symfony/doctrine-bridge in a Laravel application?
Not as a native Laravel package. It is a Symfony component that integrates Doctrine with Symfony's container, events, forms, validation, and security, so a Laravel app would need custom wiring or a migration toward Symfony. It is most useful when you are moving from Laravel/Eloquent to Symfony/Doctrine or running a hybrid architecture with explicit integration work.
How do I install symfony/doctrine-bridge with Composer?
Install it with Composer using composer require symfony/doctrine-bridge. You will also need Doctrine ORM/DBAL and, in a Symfony app, DoctrineBundle to configure the entity manager and connection. In Laravel, Composer installation alone is not enough because the Symfony service container and bundle configuration are not present by default.
What does symfony/doctrine-bridge actually integrate between Doctrine and Symfony?
The bridge connects Doctrine ORM/DBAL to Symfony components such as Form, Validator, Security, Messenger, and the dependency injection and event system. It provides form types, validators like UniqueEntity, security user providers and persistent token support, and event listeners for Doctrine integration. It is the glue layer, not a standalone ORM or database abstraction.
Is symfony/doctrine-bridge a drop-in replacement for Laravel Eloquent?
No. Eloquent is Laravel's Active Record ORM with its own query builder, relationships, and conventions, while this bridge supports Doctrine's Data Mapper model inside Symfony. Replacing Eloquent requires rewriting models as Doctrine entities, moving queries to DQL or Doctrine's query builder, and adapting repositories and service bindings.
How do I migrate Laravel Eloquent models to Doctrine entities and repositories with this bridge?
Start by mapping Laravel models to Doctrine entities using attributes, XML, or YAML, then move custom query logic into EntityRepository classes or DQL. Replace Eloquent relationships with Doctrine associations and update service bindings to Symfony's DI container. Plan an incremental module-by-module migration if legacy Eloquent queries must keep running during the transition.
What PHP and Symfony versions does symfony/doctrine-bridge require?
Symfony 8.x requires PHP 8.4 or newer, and Doctrine versions must align with the Symfony release you target, such as Symfony 7.x with Doctrine 2.16 or later. Check the package constraints in Composer before upgrading because Symfony 8 deprecations affect AbstractDoctrineExtension, PersistentToken::getClass(), and auto-mapping. Laravel version compatibility is indirect because this package targets Symfony components, not Laravel itself.
How does symfony/doctrine-bridge support validation, forms, and security for Doctrine entities?
The bridge supplies Symfony Form types that bind Doctrine entities, Validator constraints such as UniqueEntity, and Security integration including user providers and persistent tokens. These features depend on Symfony's Form, Validator, and Security components being configured in the application. In a Laravel-only app, those components are not native, so you would need substantial custom integration before using these features.
What performance risks should I benchmark before replacing Eloquent with Doctrine?
Doctrine's proxy generation, hydration, and query parsing can add latency compared with Eloquent if queries and caching are not tuned. Benchmark read-heavy and write-heavy workloads, enable DQL and query caching, and evaluate second-level caching with APCu or Redis. Also watch connection pooling and hydration choices, because raw SQL or optimized DQL may be needed for hot paths.
How should I test Doctrine schema migrations before a production Laravel-to-Symfony migration?
Use Doctrine Migrations to generate and review schema changes, then run them against a staging database that mirrors production. Validate both up and down migrations, test data backfills separately, and compare query plans for critical paths after the schema changes. Automated migration checks in CI help catch drift before a Laravel-to-Symfony cutover.
Is symfony/doctrine-bridge actively maintained, and what alternatives should Laravel teams consider?
The package is part of Symfony and is actively maintained with the Symfony release cycle, so track Symfony 8 deprecations and PHP 8.4 requirements before upgrading. For Symfony applications, the usual path is DoctrineBundle plus symfony/doctrine-bridge; for Laravel-only applications, Eloquent or a community Doctrine integration may be a better fit than wiring Symfony components manually. Evaluate alternatives against your target framework rather than treating the bridge as a Laravel package.
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.
dbravoan/dbcms-admin-theme-dbcms
dbravoan/dbcms-theme-db-cyber
dbravoan/dbcms-blocks-basic
dbravoan/dbcms-module-content-audit
dbravoan/dbcms-module-ai-assistant
paygate-to/paygate-php
padosoft/askmydocs-connector-base
defstudio/supercharged-carbon
bernskioldmedia/laravel-matomo
bernskioldmedia/laravel-harvest
bernskiold/laravel-data-scrubber
bernskiold/laravel-currency-converter
bernskiold/laravel-campaign-monitor
bernskioldmedia/laravel-autotranslate
siberfx/telegram-bot
roy-sandip/laravel-view-extended
gregsphotography/site-builder-core
roy-sandip/laravel-view
anodyne/blade-fluentui-icons
webx-ui/module-catalog-collections