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

Orm Pack Laravel Package

johnkrovitch/orm-pack

Composer metapackage that bundles common Symfony/Doctrine ORM dependencies, including symfony/orm-pack, Pagerfanta adapters, and Doctrine Extensions (Gedmo + Stof bundle). Use it to standardize and mutualize ORM-related requirements across projects.

View on GitHub
Deep Wiki
Context7

Mutualize ORM composer dependencies

Frequently asked questions about Orm Pack
Is this package safe to use in a Laravel project that relies on Eloquent and Blade templating?
This package introduces Pagerfanta and Twig, which may conflict with Laravel’s native pagination and Blade templates. If your project uses only Eloquent and Blade, avoid it to prevent template engine clashes and pagination inconsistencies. The Twig dependency risks breaking Blade syntax or overriding Laravel’s view resolvers.
How does pagination work with this package? Does it replace Laravel’s `paginate()` method?
The package bundles Pagerfanta, which provides alternative pagination logic. However, it does not natively replace Laravel’s `paginate()`—you’d need custom logic to integrate Pagerfanta’s adapters. This could lead to behavioral differences, such as returning a Pagerfanta object instead of Laravel’s `LengthAwarePaginator`, breaking pagination views or API responses.
Will this package work with Laravel 10 or 11? Are there version compatibility risks?
The package lacks recent updates (last activity in 2022) and may not account for Laravel 10/11 changes, such as pagination API updates or Symfony dependency shifts. Test thoroughly in a staging environment, as version conflicts (e.g., with `symfony/orm-pack` or Twig) could arise. Avoid using it in new projects without verifying compatibility.
Can I use this package without Pagerfanta or Twig to avoid conflicts?
No, the package bundles Pagerfanta and Twig as mandatory dependencies. There’s no documented way to opt out of these components, meaning you’ll inherit their dependencies and potential conflicts, even if you don’t use them. This makes it unsuitable for Laravel-only projects relying on Blade or native pagination.
How does this package handle Doctrine vs. Eloquent ORMs? Does it enforce a single ORM?
The package primarily targets Doctrine ORM (via `symfony/orm-pack` and Doctrine Extensions) and does not natively support Eloquent. While it bundles dependencies for both, Eloquent-specific features (like query builders) may not integrate seamlessly. Use this only if your project is Doctrine-centric or requires Symfony interoperability.
Are there performance or memory overhead concerns with Pagerfanta and Twig?
Yes, Pagerfanta adds ~5MB to your vendor directory and introduces runtime overhead for pagination, especially with large datasets. Twig’s template caching and auto-escaping may also impact performance. If your project uses simple pagination, Laravel’s native system is lighter and more optimized.
Will this package conflict with Laravel’s built-in pagination views (e.g., `vendor/laravel/framework/src/Illuminate/Pagination/resources/views`)?
Yes, Pagerfanta’s Twig integration could override or conflict with Laravel’s pagination views, especially if you use Blade templates with Pagerfanta’s Twig tags. This may cause template parsing errors or inconsistent pagination rendering. Test thoroughly in a development environment before deployment.
Are there alternatives for mutualizing ORM dependencies in Laravel without Pagerfanta/Twig?
For mutualizing Doctrine dependencies, consider `doctrine/orm` or `symfony/orm-pack` directly. For Eloquent projects, Laravel’s native `illuminate/database` suffices. If you need shared Doctrine Extensions (Gedmo/Stof), manually require them without Pagerfanta to avoid Laravel conflicts. Avoid metapackages that bundle non-Laravel templating systems.
How do I test pagination consistency between Laravel’s `paginate()` and Pagerfanta?
Test both pagination methods in isolation: verify that `Model::paginate(10)` returns a `LengthAwarePaginator` (Laravel) vs. a Pagerfanta object. Check JSON API responses for differences in `links()` or metadata. Use PHPUnit to assert pagination behavior matches your app’s requirements, especially for edge cases like empty results or cursor pagination.
What are the risks of using Twig alongside Blade in this package?
Twig and Blade have incompatible syntax (e.g., `{% if %}` vs. `@if`), which can cause template parsing errors if mixed. Twig’s auto-escaping may also break Blade’s raw output syntax (`{{{ }}}`). Additionally, Twig extensions (like `{{ route() }}`) may conflict with Laravel’s helpers, leading to runtime errors or unexpected behavior in shared views.
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