Download the PHP package articus/path-handler without Composer
On this page you can find all versions of the php package articus/path-handler. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package path-handler
Path Handler
This library considerably simplifies API development with Mezzio by reducing amount of boilerplate code you have to write for each API operation. The idea is to provide a more convenient way to deal with:
- routing - routes for all operations are registered automatically
- consuming - each operation may have unique algorithm to parse request body according its content type
- attributing (as in PSR-7 request attributes) - each operation may have its own set of request attributes calculated from raw request data (like current user information insteadof authentication header, validated DTO insteadof form value array, entity object insteadof query parameter with its id and so on)
- producing - each operation may have unique algorithm to prepare response body from operation result according media type accepted by client
So you can focus on handling your API operations and spend less time on writing auxiliary code for request processing.
How to install?
Just add "articus/path-handler"
to your composer.json and check packages suggested by the library for extra dependencies of optional components you want to use.
How to use?
First of all you need a project with Mezzio application. For example, you can generate one with this installer.
Next you need to declare handlers. Each handler is a set of all operations that can be performed when some path of your API is accessed with distinct HTTP methods. Any class can be a handler, you just need to decorate it with special PHP attributes:
Finally, you need to configure special factory for router service. Here is a sample configuration for Laminas Service Manager (example is in YAML just for readability):
For more details check documentation.
Enjoy!
I hope this library will be useful for someone except me. It is used for production purposes, but it lacks lots of refinement, especially in terms of tests and documentation.
If you have any suggestions, advices, questions or fixes feel free to submit issue or pull request.
All versions of path-handler with dependencies
mezzio/mezzio Version ^3.2
laminas/laminas-servicemanager Version ^3.4