Laravel usage
In order to use JsonMapper with your Laravel application you only need JsonMapper’s LaravelPackage.
Installation
The installation of JsonMapper Laravel package can easily be done with Composer
$ composer require json-mapper/laravel-package
This package makes use of Laravels package auto-discovery mechanism.
* The example shown above assumes that composer
is on your $PATH
.
Configuration
Copy the package config to your local config with the publish command:
php artisan vendor:publish --provider="JsonMapper\LaravelPackage\ServiceProvider"
The package config enables you to choose between the default
JsonMapper or the best-fit
JsonMapper.
You can check the Setup page for more info of the different types.
Example
<?php
namespace App\Service;
use JsonMapper\LaravelPackage\JsonMapperInterface;
class ApiClient
{
private JsonMapperInterface $mapper;
public function __construct(
private JsonMapperInterface $mapper
) {
}
public function fetchJokes(): Collection
{
$data = file_get_contents('https://jsonplaceholder.typicode.com/todos');
return $this->mapper->mapToCollectionFromString($data, new Todo());
}
}
class Todo
{
public int $userId;
public int $id;
public string $title;
public bool $completed;
}