dropelikeit / laravel-jms-serializer
Integration JMS Serializer in Laravel / Lumen
Installs: 3 931
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.
Please use the new package https://github.com/Dropelikeit/laravel-responsefactory in the future. The new package contains some new and useful functions! This package will only be supported until the end of Laravel 11. Until then, you should use the new package.
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.