PHP code example of check24 / apitk-dtomapper-bundle
1. Go to this page and download the library: Download check24/apitk-dtomapper-bundle library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
check24 / apitk-dtomapper-bundle example snippets
use Shopping\ApiTKDtoMapperBundle\DtoMapper\MapperInterface;
class UserV1Mapper implements MapperInterface
{
/**
* @param User $data
* @return Dto\UserV1
*/
public function map($data): Dto\UserV1
{
$userDto = new Dto\UserV1();
$userDto->setId($data->getId())
->setUsername($data->getUsername())
->setEmail($data->getEmail());
return $userDto;
}
}
use FOS\RestBundle\Controller\Annotations as Rest;
use Shopping\ApiTKDtoMapperBundle\Annotation as DtoMapper;
/**
* @Rest\Get("/v1/users")
* @DtoMapper\View(dtoMapper="App\DtoMapper\UserV1Mapper")
*
* @param EntityManagerInterface $entityManager
* @return User[]
*/
public function getUsersV1(EntityManagerInterface $entityManager)
{
$userRepository = $entityManager->getRepository(User::class);
$users = $userRepository->findAll();
return $users;
}
use Shopping\ApiTKDtoMapperBundle\DtoMapper\MapperCollectionInterface;
use Shopping\ApiTKDtoMapperBundle\DtoMapper\MapperInterface;
class UserV1Mapper implements MapperInterface, MapperCollectionInterface
{
/**
* @param Dto\UserV1[] $items
*/
public function mapCollection(array $items): Dto\UserV1Collection {
$collection = new UserV1Collection();
$collection->setItems($items);
return $collection;
}
/**
* @param Dto\UserV1 $data
*/
public function map($data): Dto\UserV1
{
$userDto = new Dto\UserV1();
$userDto->setId($data->getId())
->setUsername($data->getUsername())
->setEmail($data->getEmail());
return $userDto;
}
}