This package integrates the JMS serializer into Laravel.
JMS-Serializer: https://github.com/schmittjoh/serializer
You are also welcome to use the Issue Tracker to set bugs, improvements or upgrade requests.
composer require dropelikeit/laravel-jms-serializer
Laravel | PHP | Package Version | Status |
---|---|---|---|
11 | 8.2, 8.3 | v6.x.x | Support |
10 | 8.1, 8.2, 8.3 | >=v5.x.x | Support |
9 | 8.0, 8.1, 8.2 | v4.x.x - v5.1.0 | Not supported |
8 | 7.3, 7.4, 8.0, 8.1 | v3.x.x - v4.0.0 | Not supported |
7 | 7.2, 7.3, 7.4, 8.0 | v2.x.x - v3.0.0 | Not supported |
6 | 7.2, 7.3, 7.4, 8.0 | v1.x.x - v3.0.0 | Not supported |
Laravel uses Package Auto-Discovery, so you do not need to add the service provider manually.
For example, to use the JMS serializer in a controller, add the ResponseFactory in the constructor.
<?php
namespace App\Http\Controller;
use Dropelikeit\LaravelJmsSerializer\Http\Responses\ResponseFactory;
use Symfony\Component\HttpFoundation\JsonResponse;
final class ExampleController extends Controller
{
public function __construct(private ResponseFactory $responseFactory) {}
public function myAction(): JsonResponse
{
$myDataObjectWithSerializerAnnotations = new Object('some data');
return $this->responseFactory->create($myDataObjectWithSerializerAnnotations);
}
}
Publish the Serializer Config with the command
php artisan vendor:publish
After that you will see a config file in your config folder named "laravel-jms-serializer.php".
If you are upgrading this package from a version earlier than v4.0, see this upgrade file.