lno/http-framework

Lightweight HTTP framework

v1.0.6 2025-05-23 23:19 UTC

This package is not auto-updated.

Last update: 2025-06-06 23:29:38 UTC


README

A simple HTTP framework for lightweight web applications. It is designed to be easy to use and understand, while still being powerful enough to handle most web development tasks.

⚠️ WARNING ⚠️ : This repo is not recommended for production usages

Get started

Install LNO framework using composer require lno/http-framework

See on Packagist

Setup

Create a web exposed folder like public/ and write your file index.php :

index.php
<?php

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

use Framework\Core\Router;

$router = new Router();

require_once __DIR__ . '/../app/routes.php';

$method = $_SERVER['REQUEST_METHOD'];
$uri = $_SERVER['REQUEST_URI'];

$router->dispatch($method, $uri);

Create app/ folder and create file routes.php :

routes.php
<?php

use Framework\Core\Router;

$router = new Router();

Usage

You can create routes in GET and POST for the moment, with typed dynamic URI parameters like /user/{username:str}

// Create all routes you want, for example

$router->get('/', function() {
    echo "Hello world";
});

$router->get('/user', function() {
    echo "Precise username in URI path, example : /user/73";
});

$router->get('/user/{username:str}', function($params) {
    echo "User : " . $params['username'];
});

$router->post('/submit', function() {
    // A post route
});

To start the server, run the following command in your terminal from the root of your project :

php -S 0.0.0.0:8080 -t public/

⚠️ WARNING ⚠️ : For assets, PHP is not able to serve file under router, set your assets in public/ folder to access them.

License

This project is licensed under AGPLv3 license. See the LICENSE file for details.