dropelikeit / laravel-jms-serializer
Integration JMS Serializer in Laravel / Lumen
Requires
- php: ^8.0|^8.1
- illuminate/contracts: ^8.0|^9.0
- illuminate/http: ^8.0|^9.0
- illuminate/support: ^8.0|^9.0
- jms/serializer: ^3.18
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.16|^3.13
- nunomaduro/larastan: ^1.0|^2.3
- orchestra/testbench: ^6.0|^7.17
- php-parallel-lint/php-parallel-lint: ^1.3
- phpstan/phpstan-phpunit: ^1.3
- phpunit/phpunit: ^9.5
- roave/security-advisories: dev-latest
- symfony/cache: ^5.4|^6.2
This package is auto-updated.
Last update: 2023-01-23 23:22:10 UTC
README
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.
Installation
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.
<?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".
Upgrade
If you are upgrading this package from a version earlier than v4.0, see this upgrade file.