Comments (2)
<?php
use Tobscure\JsonApi\AbstractSerializer;
use Tobscure\JsonApi\Document;
use Tobscure\JsonApi\Relationship;
use Tobscure\JsonApi\Resource;
require 'vendor/autoload.php';
class ArticleSerializer extends AbstractSerializer
{
protected $type = 'articles';
public function getAttributes($article, array $fields = null)
{
return [
'title' => $article->title
];
}
public function author($article)
{
$element = new Resource($article->author, new PersonSerializer);
$relationship = new Relationship($element);
$relationship->addLink('self', '/articles/'.$article->id.'/relationships/author');
$relationship->addLink('related', '/articles/'.$article->id.'/author');
return $relationship;
}
}
class PersonSerializer extends AbstractSerializer
{
protected $type = 'people';
}
$article = (object) [
'id' => 1,
'title' => 'Rails is Omakase',
'author' => (object) [
'id' => 9
]
];
$resource = new Resource($article, new ArticleSerializer);
$resource->with(['author']);
$document = new Document($resource);
echo json_encode($document, JSON_PRETTY_PRINT);
It almost works as desired...
from json-api-php.
Sorry for long time without answer, @tobscure!
Thank you for the example. With manual links defining is working as expected!
// Edited because I was used link generation wrong.
from json-api-php.
Related Issues (20)
- Should sparse fieldsets and includes be specified on the document rather than the primary element? HOT 2
- Throw an exception if attempting to include a relationship that doesn't exist HOT 1
- Review protected methods and consider making some private HOT 2
- SerializerInterface violates LSP HOT 11
- Support relationship aliases HOT 1
- Add a JSON-API validator? HOT 2
- Rename library to json-api-response HOT 39
- Add relationships without included part HOT 3
- Paging links are duplicated unless removed from URI HOT 2
- Document::setData() should be nullable HOT 7
- Collection shouldn't have to need a serializer in case of Resource collection HOT 2
- Allow prepending handlers to ErrorHandler HOT 1
- Add Cursor support
- Response when resource not found HOT 2
- Code examples for GET resource, GET collection HOT 2
- Polymorphic Serializer HOT 3
- Resource word is reserved in PHP7 HOT 3
- data and errors MUST NOT coexist
- Is this project still maintained? HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from json-api-php.