Integration JMS Serializer in Laravel / Lumen

v4.0.0 2023-01-23 07:35 UTC


Gitworkflow Coverage Status Monthly Downloads Daily Downloads Total Downloads Latest Stable Version Total Downloads License composer.lock

JMS Serializer for Laravel

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

Support note

  • Laravel 6 and 7 are no longer supported with release v4.0.0 and higher.
  • Laravel 5.* is no longer supported with release v2.0.0 and higher.

How to use

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.

    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.