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

Doctrine Orm Bridge Laravel Package

bengor-file/doctrine-orm-bridge

Doctrine ORM bridge for BenGorFile/File. Provides adapters/mappings to persist File domain objects with Doctrine ORM in PHP (>=5.5). Install via Composer; fully tested with PHPSpec. Documentation lives in the main File library docs.

View on GitHub
Deep Wiki
Context7

Adapter to make File compatible with Doctrine ORM

Frequently asked questions about Doctrine Orm Bridge
Can I use this package with Laravel’s Eloquent ORM?
No, this package only bridges BenGorFile with Doctrine ORM. For Eloquent integration, you’d need to build a custom adapter or use a hybrid approach (Doctrine for file metadata, Eloquent for other models). Laravel’s Eloquent and Doctrine can coexist but require manual configuration.
What Laravel versions does this package support?
This package doesn’t natively support Laravel versions. It requires PHP 5.5+, but Laravel 10+ mandates PHP 8.1+. You’d need to fork and modernize it for compatibility. Test thoroughly with your Laravel version before use.
How do I install and configure this package in a Laravel project?
Install via Composer (`composer require bengor-file/doctrine-orm-bridge`), then configure Doctrine ORM alongside Laravel. Use `illuminate/database` to share connections or set up a dual-ORM environment. No Laravel service provider is included—manual Doctrine setup is required.
Does this package support file storage backends like S3 or local files?
The package relies on BenGorFile’s storage backend (e.g., S3, local). Ensure BenGorFile is configured for your desired storage before using this bridge. The bridge itself only handles Doctrine ORM persistence of file metadata, not storage operations.
Are there performance concerns with Doctrine ORM for file metadata?
Doctrine’s proxy patterns and lazy loading may introduce overhead for file metadata queries. Benchmark your use case, especially if dealing with large file collections. Consider caching frequently accessed metadata or using a lighter ORM for high-traffic applications.
What alternatives exist for persisting file metadata in Laravel?
For Eloquent-based solutions, consider `spatie/laravel-medialibrary` (feature-rich, actively maintained). For Doctrine-focused alternatives, check `voku/doctrine-file-embeddable`. Evaluate trade-offs like maintenance, Laravel integration, and storage backend support before choosing.
How do I migrate existing BenGorFile usage to Doctrine ORM?
Audit your codebase for BenGorFile usages (e.g., file uploads, metadata). Identify entities needing ORM persistence (e.g., `UserUpload`). Use Doctrine’s `EntityManager` to map BenGorFile objects to entities. Generate migrations for new tables (e.g., `file`, `file_list`).
Is this package actively maintained? What are the risks?
The package is abandoned (last release in 2018) with no Laravel 9/10+ support. Risks include PHP 5.5 legacy code (security vulnerabilities, missing features like typed properties) and lack of integration tests. Fork and modernize if critical for your project.
Can I use this package with Laravel’s service container or Facades?
No, this package doesn’t integrate with Laravel’s service container or Facades. You’ll need to manually bind Doctrine’s `EntityManager` or use a third-party package like `illuminate/database` to bridge Laravel and Doctrine configurations.
How do I test this package in a Laravel environment?
Run PHPSpec tests (`vendor/bin/phpspec run`) for unit coverage, but no Laravel-specific integration tests exist. Mock Doctrine’s `EntityManager` and BenGorFile dependencies in your Laravel tests. For end-to-end testing, simulate Doctrine ORM interactions in a test database.
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.
emuniq/filament-browser-notifications
syriable/filament-translator
hungnm28/livewire-form
wenprise/eloquent
crudly/encrypted
fadion/bouncy
cuci/prototurk-sdk
gos/pubsub-router-bundle
cuci/prototurk-sdk-symfony
clementtalleu/easyadmin-markdown-bundle
codeflextech/permission-manager
karnoweb/livewire-datepicker
sayedenam/sayed-dashboard
milito/query-filter
apiboxsym/user-bundle
apiboxsym/health-check-bundle
jayeshmepani/jpl-moshier-ephemeris-php
elnasnato/laraliveui
labrodev/rest-sdk
sampaui/sampaui