72 lines
1.2 KiB
PHP
72 lines
1.2 KiB
PHP
<?php
|
|
|
|
/*
|
|
* This file is part of JSON-API.
|
|
*
|
|
* (c) Toby Zerner <toby.zerner@gmail.com>
|
|
*
|
|
* For the full copyright and license information, please view the LICENSE
|
|
* file that was distributed with this source code.
|
|
*/
|
|
|
|
namespace Tobscure\JsonApi;
|
|
|
|
interface SerializerInterface
|
|
{
|
|
/**
|
|
* Get the type.
|
|
*
|
|
* @param mixed $model
|
|
*
|
|
* @return string
|
|
*/
|
|
public function getType($model);
|
|
|
|
/**
|
|
* Get the id.
|
|
*
|
|
* @param mixed $model
|
|
*
|
|
* @return string
|
|
*/
|
|
public function getId($model);
|
|
|
|
/**
|
|
* Get the attributes array.
|
|
*
|
|
* @param mixed $model
|
|
* @param array|null $fields
|
|
*
|
|
* @return array
|
|
*/
|
|
public function getAttributes($model, array $fields = null);
|
|
|
|
/**
|
|
* Get the links array.
|
|
*
|
|
* @param mixed $model
|
|
*
|
|
* @return array
|
|
*/
|
|
public function getLinks($model);
|
|
|
|
/**
|
|
* Get the meta.
|
|
*
|
|
* @param mixed $model
|
|
*
|
|
* @return array
|
|
*/
|
|
public function getMeta($model);
|
|
|
|
/**
|
|
* Get a relationship.
|
|
*
|
|
* @param mixed $model
|
|
* @param string $name
|
|
*
|
|
* @return \Tobscure\JsonApi\Relationship|null
|
|
*/
|
|
public function getRelationship($model, $name);
|
|
}
|