divante-ltd/woohoolabs-yin-bundle
Symfony 3.3 bundle integrating woohoolabs/yin to help you build JSON:API-compliant endpoints quickly. Install via Composer and register in AppKernel to start using Yin within your Symfony application.
Illuminate\Http\Resources\JsonResource) already provide similar functionality, reducing the need for this bundle.AppKernel.php, Symfony events, and services). Laravel’s service provider/middleware architecture is fundamentally different, requiring significant refactoring to adapt.symfony/symfony) may conflict with Laravel’s modern PHP 8.x/8.1 dependencies, necessitating dependency isolation (e.g., via composer require --with-all-dependencies or custom aliases).Illuminate\Events\Dispatcher).AppKernel with Laravel’s service providers (Illuminate\Support\ServiceProvider).routing.yml) in Laravel’s routes/api.php.JsonResource or packages like spatie/laravel-json-api?spatie/laravel-json-api, darkaonline/l5-swagger) been assessed for suitability?EventDispatcher, Container) are incompatible without heavy modification.spatie/laravel-json-api: Mature, actively maintained, and Laravel-native.darkaj11/laravel-json-api: Another robust option with filtering/sorting.JsonResource: For simple APIs, Laravel’s built-in tools suffice.JsonResource to validate if the bundle’s value is justified.EventDispatcher → Laravel’s Event facade.bind() method to register Yin services.$this->app->bind('yin.serializer', function ($app) {
return new YinSerializer(); // Hypothetical refactored class
});
Illuminate\Pipeline).HttpTests trait for API testing.composer require divante-ltd/woohoolabs-yin-bundle --ignore-platform-reqs to bypass platform checks, then manually resolve conflicts (e.g., symfony/http-kernel vs. Laravel’s illuminate/http).model_1 ↔ entity_1).composer.json aliases or a monorepo to manage Symfony/Laravel dependencies separately."extra": {
"laravel": {
"providers": ["App\\Providers\\YinServiceProvider"]
}
}
laravel-debugbar and blackfire.io to compare against native JsonResource.Illuminate\Queue) can handle Yin’s background tasks (if any), but Symfony-specific workers (e.g., Messenger) would need replacement.| Risk | Impact | Mitigation |
|---|---|---|
| Symfony 3.3 dependency breaks | App crashes or security vulnerabilities | Fork and replace dependencies incrementally |
| JSON:API spec non-compliance | API consumers reject responses | Validate against jsonapi.org |
| Performance degradation | Slow API responses | Profile with Blackfire; optimize queries |
| Laravel version incompatibility | Integration fails on |
How can I help you explore Laravel packages today?