Skip to content

Standards

Standards are the reason the stack contains no third-party implementations and still works with everybody else's code. A response here is a PSR-7 response, so anything that speaks PSR-7 speaks to it — including the parts you write yourself, and including whatever you would rather use instead of the package it came from.

Implemented

StandardWhat it coversPackages
PSR-3Loggerlogger, queue, framework
PSR-7HTTP messagesuri, stream, header-bag, server-request, response, router, http-client, auth
PSR-11Containerdi, middleware, cli, queue
PSR-14Event dispatcherevents
PSR-15HTTP handlers and middlewaremiddleware, auth, framework
PSR-16Simple cachecache, framework
PSR-17HTTP factoriesuri, response, server-request, http-client
PSR-18HTTP clienthttp-client
PSR-20Clockclock, cache, queue

PSR-1 and PSR-12 are followed throughout, checked by StyleCI on every push. PSR-4 is how every package autoloads.

Not implemented

PSR-6 (caching interfaces) is not implemented anywhere. The cache is PSR-16 only, which is the simpler of the two and the one an application usually wants; if you need PSR-6, wrap it.

What that is worth

Every package here can be swapped for somebody else's implementation of the same standard, and every package here can be dropped into somebody else's application. That is the point of building on interfaces rather than on a framework: nothing in this stack is load-bearing because it is ours.

Released under the MIT License.