PHPackages                             superpms/interpreter-http - 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. [HTTP &amp; Networking](/categories/http)
4. /
5. superpms/interpreter-http

ActiveLibrary[HTTP &amp; Networking](/categories/http)

superpms/interpreter-http
=========================

pms http interpreter

v1.0.x-dev(1mo ago)01063Apache-2.0PHPPHP &gt;=8.1

Since May 21Pushed 1mo agoCompare

[ Source](https://github.com/superpms/interpreter-http)[ Packagist](https://packagist.org/packages/superpms/interpreter-http)[ RSS](/packages/superpms-interpreter-http/feed)WikiDiscussions v1.0 Synced yesterday

READMEChangelogDependencies (2)Versions (1)Used By (3)

superpms/interpreter-http
=========================

[](#superpmsinterpreter-http)

`superpms/interpreter-http` is the PMS HTTP interpreter package. It mounts the `http` interpreter into PMS Boot, creates the HTTP request and response sandbox, resolves app and terminal routes, injects HTTP runtime objects, runs HTTP middleware and lifecycle hooks, serializes interface return values, and converts errors into HTTP responses.

This repository is package-level documentation for framework and package developers. It describes the interpreter contract and extension points, not business API endpoints.

Requirements
------------

[](#requirements)

- PHP `>= 8.1`
- Composer
- `superpms/basic`
- `ext-fileinfo`
- Optional for the development command: `superpms/interpreter-terminal`

Install
-------

[](#install)

```
composer require superpms/interpreter-http
```

The package is loaded through Composer `autoload.files`:

```
{
  "autoload": {
    "files": [
      "bin/autoload.php"
    ],
    "psr-4": {
      "pms\\": "src/pms/"
    }
  }
}
```

`bin/autoload.php` loads `bin/autorun.php` and `bin/const.php`. The autorun file mounts:

- `InterpreterHook::mount('http', pms\interpreter\http\Interpreter::class)`
- `pms\program\http\DevHttpServerCommand` when the terminal command hook exists

Boot Mount
----------

[](#boot-mount)

In a PMS project, the interpreter is entered by accessing the `http` interpreter on Boot:

```
