Looking to hire Laravel developers? Try LaraJobs

laravel-jms maintained by mennovanhout

Description
Adds jms serializer to Laravel
Last update
2022/09/20 14:25 (dev-master)
License
Links
Downloads
1 120

Comments
comments powered by Disqus

Laravel JMS

More info coming soon

Installation

composer require mennovanhout/laravel-jms

Usage

$serializer = app(Serializer::class);

Example

JSON

{
  "title": "Hello World!"
}

DTO

use JMS\Serializer\Annotation as Serializer;

class PaymentDTO
{
    /**
     * @Serializer\SerializedName("title")
     * @Serializer\Type("string")
     *
     * @var string
     */
    private $title;

    /**
     * @return string
     */
    public function getTitle(): string
    {
        return $this->title;
    }
}

Deserialize

$serializer = app(Serializer::class);

/** @var PaymentDTO */
$paymentDTO = $serializer->deserialize($json, PaymentDTO::class, 'json');

Serialize

$serializer = app(Serializer::class);

$json = $serializer->serialize($paymentDTO, 'json');

More info

Annotations: https://jmsyst.com/libs/serializer/master/reference/annotations