A PSR-7 Action system for Action-Domain-Responder.
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
src
tests
.gitignore
CHANGELOG.md
CONTRIBUTING.md
LICENSE.md
README.md
composer.json
phpunit.php
phpunit.xml.dist

README.md

Arbiter

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 for call_user_func_array();

  • a $domain callable: this is invoked via call_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.