PHP code example of nilportugues / api-transformer
1. Go to this page and download the library: Download nilportugues/api-transformer 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/ */
nilportugues / api-transformer example snippets
use NilPortugues\Api\Mapping\Mapper;
use NilPortugues\AcmeProject\Infrastructure\Api\Mappings\PostApiMapping;
$arrayConfig = d to a Transformer.
$mapper = new Mapper($mappings);
namespace NilPortugues\AcmeProject\Infrastructure\Api\Mappings;
use NilPortugues\AcmeProject\Blog\Domain\Post;
use NilPortugues\Api\Mappings\HalMapping;
use NilPortugues\Api\Mappings\JsonApiMapping;
class PostApiMapping implements JsonApiMapping, HalMapping
{
/**
* {@inheritdoc}
*/
public function getClass() : string
{
return Post::class;
}
/**
* {@inheritdoc}
*/
public function getAlias() : string
{
return 'Posting'; //If none is used 'Post' will be used instead.
}
/**
* {@inheritdoc}
*/
public function getAliasedProperties() : array
{
return [
'title' => 'headline',
'content' => 'body',
];
}
/**
* {@inheritdoc}
*/
public function getHideProperties() : array
{
return [
'comments',
];
}
/**
* {@inheritdoc}
*/
public function getIdProperties() : array
{
return [
'postId',
];
}
/**
* {@inheritdoc}
*/
public function getUrls() : array
{
return [
// Mandatory
'self' => 'http://example.com/posts/{postId}',
// Optional
'comments' => 'http://example.com/posts/{postId}/comments',
];
}
/**
* Returns an array of curies.
*
* @return array
*/
public function getCuries() : array
{
return [
'name' => 'example',
'href' => 'http://example.com/docs/rels/{rel}',
];
}
/**
* {@inheritdoc}
*/
public function getRelationships() : array
{
return [
'author' => [
'related' => 'http://example.com/posts/{postId}/author',
'self' => 'http://example.com/posts/{postId}/relationships/author',
],
];
}
}