- 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
- Tests
- 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()
).
- Rename
- Factories
- MetadataMap (from config)
- LinkGenerator
- LinkGenerator\UrlGenerator
- ResourceGenerator
- Exception namespaces
- Top-level
- Metadata
- ResourceGenerator
- 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