psx/engine

Engine to support multiple web server types

v2.0.0 2023-03-26 10:10 UTC

This package is auto-updated.

Last update: 2024-10-26 13:21:19 UTC


README

About

The engine package provides multiple ways to run your PSX app in different environments. By default it uses the web server engine which is designed for classical web servers like Apache or Nginx. But in the PHP world there are lots of alternative web server solutions which can also improve the performance of your app.

Engines

  • Apache/NGINX

    Classical web server like Apache or NGINX which uses either FCGI or includes PHP as module (Apache). This engine is included by default.

    • Class: PSX\Engine\WebServer\Engine
  • Amp

    A HTTP server completely written in PHP

  • Swoole

    The HTTP server written as PHP extension in C/C++

  • Roadrunner

    The HTTP server written in GO and uses

Usage

To use a different engine simply require the package through composer. Then you need to adjust your index.php and use the fitting engine class.

require_once(__DIR__ . '/../vendor/autoload.php');

$container = require_once(__DIR__ . '/../container.php');

$engine      = null; # adjust the engine class
$environment = \PSX\Framework\Environment\Environment::fromContainer($container, $engine);

$environment->serve();