binemmanuel/servemyphp

A light php library for building server-side applications (APIs)


License
MIT

Documentation

Serve My PHP

A light php library for building server-side applications (APIs)

Installation

To install use composer

composer require binemmanuel/servemyphp

Usage

# ./public_html/.htaccess

RewriteEngine On

<IfModule mod_headers.c>
    Header set Access-Control-Allow-Origin "*"
</IfModule>

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]

<FilesMatch "\.(json|lock|md|env|txt|gitignore)">
    Order allow,deny
    Deny from all
</FilesMatch>

<FilesMatch "config.php">
    Order allow,deny
    Deny from all
</FilesMatch>

Options -Indexes
# .env

# Database Cridentials
DB_HOST = <host-name-here>
DB_USER = <database-username-here>
DB_PASSWORD = <database-password-here>
DB_NAME = <database-name-here>
DB_CHASET = 'utf8mb4'
# ./public_html/index.php

use Binemmanuel\ServeMyPhp\Router;
use Binemmanuel\ServeMyPhp\Request;
use Binemmanuel\ServeMyPhp\Response;
use Binemmanuel\ServeMyPhp\Database;

$database = (new Database($_ENV))->mysqli();
$app = new Router($database);

$app->get('/api/v1/get/message', function (Request $req, Response $res) use ($database) {
     $res::sendJson(["message" : "Hello, world"]);
});

$app->run();

Start Dev Server

php -S 0.0.0.0:8080 -t public_html