{
    "href": "/post/2024/01/15/front-interop-interoperable-front-controller-interfaces/",
    "relId": "2024/01/15/front-interop-interoperable-front-controller-interfaces",
    "title": "Front-Interop: Interoperable Front Controller Interfaces",
    "author": "pmjones",
    "tags": [
        {
            "href": "/tag/programming/",
            "relId": "programming",
            "title": "Programming",
            "author": null,
            "created": null,
            "updated": [],
            "markup": "markdown"
        },
        {
            "href": "/tag/php/",
            "relId": "php",
            "title": "PHP",
            "author": null,
            "created": null,
            "updated": [],
            "markup": "markdown"
        },
        {
            "href": "/tag/interop/",
            "relId": "interop",
            "title": "Interop",
            "author": null,
            "created": "2025-02-03 20:11:59 UTC",
            "updated": [
                "2025-02-03 20:11:59 UTC"
            ],
            "markup": "markdown"
        }
    ],
    "created": "2024-01-16 03:32:10 UTC",
    "updated": [
        "2024-01-16 03:32:10 UTC",
        "2024-01-16 03:34:44 UTC",
        "2024-01-16 03:46:38 UTC",
        "2025-02-03 20:12:14 UTC"
    ],
    "markup": "markdown",
    "html": "<p>The <a href=\"https://github.com/front-interop/front-interop\">front-interop</a> project defines a set of interoperable interfaces for the FrontController pattern in PHP to encapsulate the request-receiving and response-sending behaviors at the outermost boundary of your HTTP presentation layer:</p>\n<ul>\n<li>\n<p><code>RequestHandler::handleRequest() : ResponseHandler</code> encapsulates the logic to transform an incoming HTTP request to an outgoing HTTP response.</p>\n</li>\n<li>\n<p><code>ResponseHandler::handleResponse() : void</code> encapsulates the logic to send or emit an outgoing response.</p>\n</li>\n</ul>\n<p>These interfaces are <strong>completely independent of any particular request/response library.</strong> That is, they will work with <a href=\"https://www.php-fig.org/psr/psr-7/\">PSR-7</a>, <a href=\"https://symfony.com/doc/current/components/http_foundation.html\">Symfony HttpFoundation</a>, <a href=\"https://sapienphp.com\">Sapien</a>, or any other request/response library.</p>\n<p>Read more about the project <a href=\"https://github.com/front-interop/front-interop#front-interop\">here</a>.</p>\n"
}
