Skip to content

Getting Started

Install packages via Composer and use them independently:

bash
composer require atomic/http-kernel
composer require atomic/router
composer require atomic/container

HTTP Kernel (PSR‑15)

php
use Atomic\Http\Kernel;
use Atomic\Http\MiddlewareStack;
use Psr\Http\Server\RequestHandlerInterface;

$stack = new MiddlewareStack();
$kernel = new Kernel(new class implements RequestHandlerInterface {
    public function handle($req) { return new \Nyholm\Psr7\Response(200); }
}, $stack);

Router (PSR‑7/15)

php
use Atomic\Router\Router;

$router = new Router();
$router->add('GET', '/health', fn () => new \Nyholm\Psr7\Response(200, [], 'ok'));

Container (PSR‑11)

php
use Atomic\Container\ContainerBuilder;
use Psr\Container\ContainerInterface;

$builder = new ContainerBuilder();
$builder->set('config', ['env' => 'prod']);
$builder->set('logger', fn (ContainerInterface $c) => new Logger($c->get('config')), shared: true);
$container = $builder->compile();

Released under the MIT License.