derilkillms/router

Simple route wrapper for PHP

v1.0.3 2025-08-30 08:56 UTC

This package is auto-updated.

Last update: 2025-08-30 17:13:29 UTC


README

Instalation

composer require derilkillms/router

Information

This Repository Based : PHP

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

use Derilkillms\Helper\Router;

$router = new Router();

// 🔐 Middleware contoh: cek autentikasi sederhana
$router->addMiddleware(function() {
    session_start();
    if (!isset($_SESSION['user'])) {
        header('HTTP/1.1 401 Unauthorized');
        echo "Unauthorized - Please login";
        return false; // hentikan eksekusi route
    }
    return true; // lanjutkan jika sudah login
});

// 📂 Route Semua Method /users
$router->any('users', function() {
    include 'pages/users.php';
});

// 📂 Route GET /users
$router->get('users', function() {
    include 'pages/users.php';
});

// 📂 Route POST & GET /users
$router->post_get('users', function() {
    include 'pages/users.php';
});

// 📂 Route GET /users/{id}
$router->get('users/{id}', function($id) {
    include 'pages/users.php'; // bisa gunakan $id untuk query database
});

// ➕ Route POST /users (buat user baru)
$router->post('users', function() {
    include 'pages/users_create.php';
});

// ✏️ Route PUT /users/{id} (update user)
$router->put('users/{id}', function($id) {
    include 'pages/users_update.php';
});

// ❌ Route DELETE /users/{id}
$router->delete('users/{id}', function($id) {
    include 'pages/users_delete.php';
});

// 🛑 Handler 404 custom
$router->setNotFoundHandler(function() {
    header("HTTP/1.0 404 Not Found");
    echo "Halaman tidak ditemukan";
});

// 🚀 Jalankan router
$router->run();
Method Keterangan
$router->add($method, $path, $cb) Tambahkan route manual
$router->any($path, $cb) Route Semua Method
$router->post_get($path, $cb) Route POST &G ET
$router->get($path, $cb) Route GET
$router->post($path, $cb) Route POST
$router->put($path, $cb) Route PUT
$router->delete($path, $cb) Route DELETE
$router->addMiddleware($callback) Tambah middleware global
$router->setNotFoundHandler($cb) Atur handler untuk 404
$router->run() Jalankan router