gortonsd/router
Composer 安装命令:
composer require gortonsd/router
包简介
A lightweight PHP router library with automatic controller discovery, route registration via docblock annotations, and intelligent route caching
README 文档
README
PHP Router Library
Overview
Router is a lightweight PHP router class that automatically discovers controllers, registers routes using docblock annotations, and caches routes for fast lookup. Designed for easy integration into your own projects or for use by other developers.
Features
- Automatic controller discovery in a specified folder
- Route registration via
@urldocblock annotation - Supports HTTP methods:
get,post(extendable) - File-based route caching with configurable minimum cache age
- Simple API for dispatching requests
Controller Requirements
- Each controller must have a docblock with
@url /path - Implement methods named
get(),post(), etc. for HTTP actions
Example:
/** * @url /example */ class ExampleController { public function get() { echo "GET: Hello from ExampleController!"; } public function post() { echo "POST: You posted to ExampleController!"; } }
Usage
require_once 'vendor/autoload.php'; use gortonsd\Router\Router; $router = new Router(); $router->loadControllers(3600); // Optional: set minimum cache age to 1 hour (3600 seconds) $router->run($_SERVER['REQUEST_METHOD'], $_SERVER['REQUEST_URI']);
Route Caching
- Routes are cached to a file (
routes.cache) for fast lookup. - Cache is rebuilt if any controller changes and the cache file is older than the minimum age.
- You can adjust the minimum cache age by passing a value (in seconds) to
loadControllers().
Installation
Via Composer (Recommended)
composer require gortonsd/router
Manual Installation
Copy the src/Router.php file and your controllers into your project. Use Composer's autoload or require the files manually.
License
MIT
统计信息
- 总下载量: 1
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-08-20