dropelikeit / laravel-jms-serializer
Integration JMS Serializer in Laravel / Lumen
Installs: 3 249
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 1
Forks: 1
Open Issues: 0
Requires
- php: ^8.1|^8.2|^8.3
- illuminate/contracts: ^10.0|^11.0
- illuminate/http: ^10.0|^11.0
- illuminate/support: ^10.0|^11.0
- jms/serializer: ^3.30
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.52
- infection/infection: ^0.27.10
- larastan/larastan: ^2.9
- laravel/framework: ^10.0|^v11.0
- orchestra/testbench: ^8.9|^9.0
- php-parallel-lint/php-parallel-lint: ^1.3
- phpstan/phpstan-phpunit: ^1.3
- phpunit/phpunit: ^10.5
- psalm/plugin-laravel: ^2.10
- psalm/plugin-phpunit: ^0.19
- roave/security-advisories: dev-latest
- symfony/cache: ^6.3|^7.0
- vimeo/psalm: ^5.23
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
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.