Skip to content

Latest commit

 

History

History
65 lines (61 loc) · 2.14 KB

TODO.md

File metadata and controls

65 lines (61 loc) · 2.14 KB

TODO

Development

  • Link class
    • Link serialization to array
    • Link serialization to JSON via JsonSerializable
  • LinkCollection trait
  • Resource class
  • UrlGenerator interface
  • LinkGenerator class
  • Expressive-based UrlGenerator (and related factory)
  • Metadata
    • Basic resource metadata (PHP class, link collection)
    • URL-based resources
    • Route-based resources
    • Basic collection metadata (embedded resource name + resource metadata)
    • URL-based collections
    • Route-based collections
  • ResourceGenerator class
    • Tests
      • URL-based resources
      • Route-based resources
      • URL-based collections
      • Route-based collections
      • What happens to object properties of instances?
    • Implementation
  • Representation/response generation
    • XML representations
    • Content-negotiation-based response generator
  • Considerations based on implementation:
    • Rename Resource class to something else (as resource has a soft reservation as a keyword starting in PHP 7)
    • Should UrlBasedResourceMetadata and related Strategy allow usage of placeholders within the URL for the identifier? This could be done in a fashion similar to pagination. No, it should not. If you need placeholders, use routes.
    • Should RouteBasedCollectionMetadata allow specifying route parameters? May be useful/required to allow creating sub-resources.
    • Refactor ResourceGeneratorTest to use custom assertions (getLinkByRel(), assertLink()).
  • Factories
    • MetadataMap (from config)
    • LinkGenerator
    • LinkGenerator\UrlGenerator
    • ResourceGenerator
  • Exception namespaces
    • Top-level
    • Metadata
    • ResourceGenerator

Documentation

  • Resources
  • Links
    • UrlGenerator
  • Representations
    • HalResponseFactory
    • Renderers
  • Automating resource and collection generation from typed objects
    • Hydrators
    • Metadata
    • ResourceGenerator
    • Creating your own metadata classes
    • Creating your own resource generator strategies