hillzacky / rute-php
A simple PHP routing library with middleware, rate limiting, authentication, and static file handling.
Requires
- php: ^7.4 || ^8.0
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.