lno / http-framework
Lightweight HTTP framework
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.