An Action system for Action-Domain-Responder.
This package is installable and PSR-4 autoloadable via Composer as arbiter/arbiter
.
Alternatively, download a release or clone this repository, then map the Arbiter\
namespace to the package src/
directory.
This package requires PHP 5.5 or later; it has been tested on PHP 5.6, PHP 7, and HHVM. You should use the latest available version of PHP as a matter of principle.
To run the tests, issue composer install
to install the test dependencies, then issue phpunit
.
An Action value object is composed of three elements:
-
an
$input
callable: this collects input from the incoming ServerRequestInterface and converts it to an array of parameters suitable forcall_user_func_array()
; -
a
$domain
callable: this is invoked viacall_user_func_array()
using the array of parameters provided by the$input
callable; and -
a
$responder
callable: this is invoked with the incoming ServerRequestInterface, the outgoing ResponseInterface, and the result (or "payload") returned by the$domain
callable.
Call the ActionHandler handle()
method with the Action, a ServerRequestInterface, and a ResponseInterface. The ActionHandler then acts as a mediator to direct the interaction between the three callables, and returns a modified ResponseInterface.