PHPackages                             germania-kg/responder - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. germania-kg/responder

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

germania-kg/responder
=====================

Responder interfaces and classes for ADR pattern

1.2.6(4y ago)0551MITPHPPHP ^7.1|^8.0

Since Oct 6Pushed 4y ago2 watchersCompare

[ Source](https://github.com/GermaniaKG/Responder)[ Packagist](https://packagist.org/packages/germania-kg/responder)[ RSS](/packages/germania-kg-responder/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (12)Versions (16)Used By (1)

[![](https://camo.githubusercontent.com/cac3140c0c6e758f67a1ba689683ced67aa2d534e2187d6e03c5c721ffe3b976/68747470733a2f2f7374617469632e6765726d616e69612d6b672e636f6d2f6c6f676f732f67612d6c6f676f2d323031362d7765622e7376677a)](https://camo.githubusercontent.com/cac3140c0c6e758f67a1ba689683ced67aa2d534e2187d6e03c5c721ffe3b976/68747470733a2f2f7374617469632e6765726d616e69612d6b672e636f6d2f6c6f676f732f67612d6c6f676f2d323031362d7765622e7376677a)

---

Germania KG · Responder
=======================

[](#germania-kg--responder)

[![Packagist](https://camo.githubusercontent.com/07651a53a2559bbff6bc97df91d1333a8b003b4fb80695b1bb16bc32ef63d0c7/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6765726d616e69612d6b672f726573706f6e6465722e7376673f7374796c653d666c6174)](https://packagist.org/packages/germania-kg/responder)[![PHP version](https://camo.githubusercontent.com/7e2a8b6900ce0b33225935b9cec9a3761437a8dc3c319b8392b10cf62a8bf4e5/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f6765726d616e69612d6b672f726573706f6e6465722e737667)](https://packagist.org/packages/germania-kg/responder)[![Build Status](https://camo.githubusercontent.com/996079195ef7ae02aa2e35d43c3eff68a52f94d17c7a6b6523c40b7e94a57f85/68747470733a2f2f696d672e736869656c64732e696f2f7472617669732f4765726d616e69614b472f526573706f6e6465722e7376673f6c6162656c3d5472617669732532304349)](https://travis-ci.org/GermaniaKG/Responder)[![Scrutinizer Code Quality](https://camo.githubusercontent.com/043c7f392389a1e91f0f8b9a90730ee5c118bb81b37f43efe260b990c45b20a1/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f4765726d616e69614b472f526573706f6e6465722f6261646765732f7175616c6974792d73636f72652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/GermaniaKG/Responder/?branch=master)[![Code Coverage](https://camo.githubusercontent.com/34643510aa5078001b10260dbe242d8f46a092a51976da07ecbf50140e2d8cbc/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f4765726d616e69614b472f526573706f6e6465722f6261646765732f636f7665726167652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/GermaniaKG/Responder/?branch=master)[![Build Status](https://camo.githubusercontent.com/62412fd26030e795a46c9a337e49baf97fe8e1b0c41659204f03d80380636d65/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f4765726d616e69614b472f526573706f6e6465722f6261646765732f6275696c642e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/GermaniaKG/Responder/build-status/master)

Installation
------------

[](#installation)

```
$ composer require germania-kg/responder
```

Responder classes
-----------------

[](#responder-classes)

- [TwigResponder](#TwigResponder)
- [JsonResponder](#JsonResponder)
- [ErrorResponder](#ErrorResponder)

---

Interfaces
----------

[](#interfaces)

### **ResponderInterface**

[](#responderinterface)

The `Germania\Responder\ResponderInterface` provides a **createResponse** method which accepts data to create a PSR-7 responde from. The data can be of any type.

Implementing classes must also be *callable* and implement an **invoke** function with same signature.

- Should throw *ResponderInvalidArgumentException* when passed data is incorrect.
- Should throw *ResponderRuntimeException* when s.th. bad happens underway.

```
public function createResponse( $data ) : ResponseInterface;
public function __invoke( $data ) : ResponseInterface;
```

### ResponderExceptionInterface

[](#responderexceptioninterface)

The `Germania\Responder\ResponderExceptionInterface` is the base interface all Responder exceptions have in common. See [Exceptions](#Exceptions) section.

---

TwigResponder
-------------

[](#twigresponder)

The constructor accepts a *Twig Environment*, the name of the array field which holds the *template,* and optionally a default *context variables* array.

You can optionally pass a custom *PSR-17 Response Factory*, per default the *Response factory* from **[slim/psr7](https://packagist.org/packages/slim/psr7)** will be used.

The template `$data` passed to *createResponse* method will be merged with `$default_context`.

### Setup

[](#setup)

```
