phramework/jsonapi doc
  • Namespace
  • Class
  • Tree
  • Deprecated
  • Todo

Namespaces

  • Phramework
    • JSONAPI
      • Controller
        • POST
      • Model
      • Viewers

Classes

  • Phramework\JSONAPI\Controller
  • Phramework\JSONAPI\Controller\Base
  • Phramework\JSONAPI\Controller\DELETE
  • Phramework\JSONAPI\Controller\GET
  • Phramework\JSONAPI\Controller\GETById
  • Phramework\JSONAPI\Controller\PATCH
  • Phramework\JSONAPI\Controller\POST
  • Phramework\JSONAPI\Controller\POST\QueueItem
  • Phramework\JSONAPI\Controller\Relationships
  • Phramework\JSONAPI\Fields
  • Phramework\JSONAPI\Filter
  • Phramework\JSONAPI\FilterAttribute
  • Phramework\JSONAPI\FilterJSONAttribute
  • Phramework\JSONAPI\Model
  • Phramework\JSONAPI\Model\Cache
  • Phramework\JSONAPI\Model\Directives
  • Phramework\JSONAPI\Model\Get
  • Phramework\JSONAPI\Model\Model
  • Phramework\JSONAPI\Model\Relationship
  • Phramework\JSONAPI\Page
  • Phramework\JSONAPI\Relationship
  • Phramework\JSONAPI\RelationshipResource
  • Phramework\JSONAPI\Resource
  • Phramework\JSONAPI\Sort
  • Phramework\JSONAPI\Util
  • Phramework\JSONAPI\ValidationModel
  • Phramework\JSONAPI\Viewers\JSONAPI

Todo

Classes summary

Phramework\JSONAPI\RelationshipResource view http://jsonapi.org/format/#document-resource-identifier-objects MUST: id, type MAY: meta
Phramework\JSONAPI\Resource

add magic set and get, set will instantiate a property if it's null, to reduce output of json to minimal required


Phramework\JSONAPI\Sort allow multiple values for sort

Methods summary

Phramework\JSONAPI\Controller\GET handleGET() Force parsing of relationship data when included
Phramework\JSONAPI\Controller\GETById handleGETByid() Force parsing of relationship data when included
Phramework\JSONAPI\Controller\PATCH handlePATCH() clear call to getById
allow null values
patch relationship data
rethink output
Phramework\JSONAPI\Controller\POST handlePOST()

handle as transaction queue, Since models usually are not producing exceptions. Prepare data until last possible moment, so that any exceptions can be thrown, and finally invoke the execution of the queue.


validate type
Phramework\JSONAPI\Fields validate()
Phramework\JSONAPI\Filter validate() add relationship validator
Phramework\JSONAPI\Filter parseFromParameters() allow strings and integers as id
Todo use filterValidation model for relationships
allowed operator for JSON properties
add support for operators of class in, parsing input using explode , (as array)
Phramework\JSONAPI\Model collection() Add example
Phramework\JSONAPI\Model resource() Add example
Phramework\JSONAPI\Model post() disable post ?
Phramework\JSONAPI\Model patch() add query limit
Phramework\JSONAPI\Model getDefaultPage() make current applied page somehow visible at meta
Phramework\JSONAPI\Model\Directives handleFilter() check if query work both in MySQL and postgreSQL
Phramework\JSONAPI\Model\Model getCast() Rewrite validationModel's attributes
Phramework\JSONAPI\Model\Relationship getIncludedData() handle Relationship resource cannot be accessed
include second level relationships
multiple (batch) getById at once
Phramework\JSONAPI\Page parseFromParameters()

add default pagination based on $modelClass

$page = Page::parseFromParameters(
    (object) [
        'page' => [
            'limit' => 0,
            'offset' => 0
        ]
    ], //Request parameters object
    Article::class
);

Phramework\JSONAPI\Resource parseFromRecord() what about getRelationshipData method ?
Phramework\JSONAPI\Sort validate()
phramework/jsonapi doc API documentation generated by ApiGen