hillzacky/rute-php

A simple PHP routing library with middleware, rate limiting, authentication, and static file handling.

Maintainers

Package info

github.com/Hillzacky/rute-php

pkg:composer/hillzacky/rute-php

Statistics

Installs: 0

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

dev-main 2026-03-16 17:13 UTC

This package is auto-updated.

Last update: 2026-04-16 17:17:47 UTC


README

A simple PHP routing library with middleware, rate limiting, authentication, and static file handling. Library ini adalah implementasi sederhana dari sebuah router dan sistem tampilan (view) untuk aplikasi PHP. Didesain untuk memudahkan pengelolaan rute HTTP dan rendering tampilan menggunakan layout dan fragment. Dengan pendekatan berbasis statis, library ini menyediakan cara yang fleksibel dan sederhana untuk menangani rute dan tampilan.

🚀 Fitur Utama

  • Routing Sederhana: Mendukung metode GET, POST, PUT, DELETE dengan dukungan middleware.
  • View Engine: Sistem templating dengan dukungan layout dan fragment (header/footer).
  • Middleware Built-in: Log request, Rate Limiting, dan Autentikasi dasar.
  • Static File Handler: Memudahkan penyajian aset seperti CSS, JS, dan Gambar.
  • PSR-4 Compliant: Mudah diintegrasi dengan Composer.

📦 Instalasi

Instal library ini melalui Composer:

composer require hillzacky/rute-php

Struktur Folder Rekomendasi

your-project/
├── public/
│   └── index.php
├── views/
│   ├── layouts/
│   ├── fragments/
│   └── home.php
├── vendor/
└── composer.json
└── index.php

Penggunaan

Menyiapkan Route

Untuk menggunakan rute, pertama-tama Anda harus mendefinisikan rute HTTP yang dapat diproses:

use Hillzacky\Route;
use Hillzacky\View;
use Hillzacky\Utils;

Route::use([Utils::class, 'logReq']);  // Middleware global
Route::use([Utils::class, 'auth']);    // Middleware untuk autentikasi

Route::get('/home', function() {
    $data = [
        'title' => 'Halaman Utama',
        'body' => '<p>Selamat datang di halaman utama kami!</p>'
    ];

    // Render tampilan dengan layout
    View::render('home', $data)->layout('default');
});

Menambahkan Middleware

Middleware digunakan untuk memfilter request, baik secara global ataupun per route.

// Middleware Global
Route::use([Utils::class, 'logReq']);  // Logging request
Route::use([Utils::class, 'rateLim']); // Pembatasan permintaan

// Middleware untuk Route Tertentu
Route::get('/admin', function() {
    // Route admin hanya bisa diakses oleh pengguna yang sudah login
    Route::use([Utils::class, 'authz'], 'admin');
    
    // Render tampilan
    $data = ['message' => 'Selamat datang di dashboard admin!'];
    View::render('admin_dashboard', $data)->layout('admin');
});

Fungsi Utama

Route::get(): Menangani permintaan HTTP GET.

Route::post(): Menangani permintaan HTTP POST.

Route::put(): Menangani permintaan HTTP PUT.

Route::delete(): Menangani permintaan HTTP DELETE.

Route::patch(): Menangani permintaan HTTP PATCH.

Route::head(): Menangani permintaan HTTP HEAD.

Route::options(): Menangani permintaan HTTP OPTIONS.

Lisensi

Distribusi ini dilisensikan di bawah lisensi MIT. Lihat file LICENSE untuk informasi lebih lanjut.