- Can I install lendable/doctrine-extensions-bundle in Laravel?
- No, not as a practical Laravel dependency. It is a Symfony bundle that relies on Symfony Bundle classes, DependencyInjection extensions, kernel boot, compiler passes, and service tagging, none of which exist in Laravel's container lifecycle. A normal Composer install will likely conflict, and forcing it can fatal at bootstrap because Symfony classes are missing. Treat it only as MIT-licensed reference code.
- Is lendable/doctrine-extensions-bundle abandoned?
- Yes. The last release was 2017-11-17, the upstream project is archived, and it has zero stars and zero dependents. There is no active maintainer to handle security fixes, PHP 8 compatibility, or Doctrine upgrades. That makes it high risk for any production dependency.
- What does lendable/doctrine-extensions-bundle actually do?
- It integrates Gedmo DoctrineExtensions into Symfony so entities can use behaviors such as timestampable, sluggable, tree, translatable, soft-delete, and blameable with minimal configuration. It also provides a container-backed repository factory that lets Doctrine EntityRepository constructors receive extra service arguments. In a Laravel context, only the repository factory idea is useful as prior art.
- Does it work with Laravel 10 or 11 and PHP 8?
- Poorly. The package targets the PHP 7.0/7.1 and Symfony 3.x/4.x era with Doctrine ORM 2.5-era constraints, so Composer resolution will fail against current Symfony and Doctrine versions. Forcing installation with ignored platform requirements produces missing Symfony Bundle and Kernel classes at boot. Do not install it in a Laravel 10 or 11 application.
- Can I use Gedmo DoctrineExtensions soft delete, timestampable, or sluggable in Laravel?
- Gedmo DoctrineExtensions itself is a Doctrine library and can be used with a Laravel Doctrine bridge such as laravel-doctrine/orm, but not through this Symfony bundle. Configure the Gedmo listeners or event subscribers directly in your Laravel service provider. The Symfony bundle wiring is unnecessary and should be omitted.
- How do I add service injection into Doctrine repositories in Laravel?
- Use Doctrine's EntityManager setRepositoryFactory mechanism or a container-aware repository factory already supplied by your Doctrine bridge. Implement a custom RepositoryFactory that resolves repositories and their constructor dependencies through Laravel's container, then register it from an application service provider. First confirm your ORM and bridge versions, because modern bridges may already solve this.
- What is the Laravel alternative to this Symfony bundle?
- There is no drop-in Laravel equivalent of this bundle. The practical alternative is native Doctrine setRepositoryFactory plus a Laravel Doctrine bridge, with business logic moved into a service layer where possible. For Gedmo behaviors, install Gedmo DoctrineExtensions and register its listeners in Laravel directly.
- Is lendable/doctrine-extensions-bundle compatible with Doctrine ORM 3?
- No. Doctrine ORM 3 removed the EntityRepository constructor contract involving $_entityName and $_em that this repository pattern relies on. The package is also constrained to Doctrine ORM 2.5-era versions. Any port must target the ORM version actually in use and be revalidated at the next ORM major upgrade.
- Should I fork this bundle or reimplement the repository factory?
- Reimplement the narrow piece you need rather than carrying a fork as a dependency. Read the MIT-licensed upstream factory, strip all Symfony bundle and DI wiring, keep only the RepositoryFactory logic, and ship it under application code with unit tests. A fork still leaves you owning security and upgrade risk for abandoned code.
- How should I test a ported Doctrine repository factory in Laravel?
- Unit test that the factory creates the expected repository and injects its constructor dependencies through Laravel's container. Add an integration test that configures the EntityManager and confirms the repository resolves correctly from the bridge. Run the tests against the exact Doctrine ORM and bridge versions in your stack, and mock service dependencies where appropriate.