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

Api Bundle Laravel Package

cesurapp/api-bundle

View on GitHub
Deep Wiki
Context7

Symfony API Bundle

Frequently asked questions about Api Bundle
Can I use Symfony API Bundle in Laravel instead of Symfony?
Technically possible but not recommended. The bundle is tightly coupled with Symfony’s ecosystem (e.g., Doctrine, Validator, AbstractController), requiring significant abstraction layers like emulating HttpFoundation or translating QueryBuilder filters to Eloquent. For Laravel, alternatives like `spatie/laravel-api` or custom FormRequest/Resource setups are far more seamless.
How do I handle validation in Laravel if I integrate this bundle?
Laravel’s built-in `FormRequest` or `Validator` facade can replace Symfony’s Validator, but custom validators (e.g., `PhoneNumber`, `UniqueEntity`) would need Laravel-specific implementations. You’d need to bridge Symfony’s `Constraint` classes to Laravel’s validation rules manually, which adds complexity.
Does this bundle support Laravel’s Eloquent ORM or only Doctrine?
The bundle is designed for Doctrine, so features like `Doctrine filter & sorter resource` won’t work out-of-the-box with Eloquent. You’d need to rewrite QueryBuilder logic (e.g., `whereLike`) to Eloquent’s syntax, risking SQL injection or performance pitfalls if not carefully translated.
Can I use Thor for API documentation in Laravel without Symfony?
Thor’s auto-generated docs rely on Symfony’s routing annotations (`#[Route]`), which Laravel doesn’t support natively. You’d need a proxy layer or rewrite Thor’s output parser to work with Laravel’s route definitions. For OpenAPI docs, consider `darkaonline/l5-swagger` instead.
What’s the easiest way to generate TypeScript clients in Laravel?
This bundle’s TypeScript client generation depends on Thor’s output, which won’t integrate cleanly with Laravel. For Laravel, use tools like `darkaonline/l5-swagger` with OpenAPI or manually generate clients from your API resources. The effort to adapt Thor’s output isn’t justified for most Laravel projects.
How do I configure CORS headers in Laravel if I use this bundle?
Laravel’s built-in `Cors` middleware or `headers()` helper can replace the bundle’s `cors_header` config. The bundle’s CORS setup is Symfony-specific and would require a custom middleware to replicate in Laravel, adding unnecessary complexity.
Are there Laravel alternatives to the Excel/CSV export features?
Yes. The bundle uses Sonata Export Bundle (Symfony-specific), but Laravel offers better alternatives like `maatwebsite/excel` or `spatie/array-to-xlsx`. These packages are optimized for Laravel’s Eloquent and Blade templates, making them a more natural fit.
What Laravel versions and PHP requirements does this bundle support?
The bundle officially requires **Symfony 8+ and PHP 8.1+**, which aligns with Laravel’s current support (Laravel 10+ also uses PHP 8.1+). However, integrating Symfony components into Laravel could introduce version conflicts or compatibility issues with Laravel’s core packages.
How difficult is it to maintain this bundle in a Laravel codebase?
High. The bundle’s Symfony-centric architecture means updates (e.g., Symfony 9+) could break Laravel integrations. You’d need to maintain custom bridges for Symfony components, test edge cases (e.g., nested DTOs), and ensure no conflicts with Laravel’s service container or middleware stack.
Should I use this bundle for a new Laravel API project?
Only if your team already uses Symfony components (e.g., API Platform) or needs Thor’s documentation tools. For most Laravel projects, start with native solutions like `FormRequest`, `Resource`, and `spatie/laravel-api`. Pilot the bundle on a small API first to assess integration effort before full adoption.
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.
terminal42/code-quality-tools
codifyo/ts-generator-bundle
andydefer/laravel-cluster
testo/fiber
mintobit/jobqueue
a4sex/maintenance-bundle
a4sex/entity-date-update
a4sex/client-identifier
a4sex/base-utilites
a4sex/key-value-storage
a4sex/micro-status
chilldev/dependency-injection-extra
datinglibre/datinglibre-app-api
biberltd/corebundle
bricre/symfony-bundle-test
biberltd/logbundle
dominium/http-adapter-bundle
dominium/google-analytics
a4sex/auto-clean-entity
christhompsontldr/laravel-inky