refkinscallv / router
PHP 路由库为 PHP 应用程序提供灵活易用的路由系统
1.0.2
2024-08-04 19:27 UTC
Requires
- php: >=7.4
README
概述
RF PHP 路由库为 PHP 应用程序提供灵活易用的路由系统。它支持从单独的文件注册路由,设置维护和404页面处理器,以及定义使用各种 HTTP 方法的路由。此外,它还支持路由分组,以组织在公共前缀下的路由。
安装
-
通过 Composer 安装
确保您已安装 Composer。运行以下命令将 RF PHP 路由库添加到您的项目中
composer require refkinscallv/router
-
自动加载依赖项
确保您的项目
vendor/autoload.php
在应用程序入口点中被要求。require 'vendor/autoload.php';
使用
导入库
在使用路由方法之前,您需要从 RF\Router
命名空间导入 Route
类。这是通过 use
语句完成的
use RF\Router\Route;
此行代码允许您使用 Route
类方法,而不必每次都编写完整的命名空间。
1. 从单独的文件注册路由
您可以使用 Route::register
方法从不同的文件注册路由
Route::register([ 'example/route/other' ]);
2. 全局设置
维护页面
定义维护页面处理器
Route::setMaintenance(function() { echo "Maintenance Page"; }); // OR require 'example/page/maintenance.php'; Route::setMaintenance([RF\Page\Maintenance::class, 'index']);
404 页面
定义404页面处理器
Route::set404(function() { echo "Page Not Found"; }); // OR require 'example/page/page404.php'; Route::set404([RF\Page\Page404::class, 'index']);
3. 基本路由使用
使用不同的 HTTP 方法定义路由
Route::get('', function() { echo "Default Page"; }); // OR require 'example/page/default.php'; Route::get('', [RF\Page\DefaultPage::class, 'index']);
HTTP 方法
Route::set
- 设置路由的通用方法(默认为 GET)Route::get
- GET 请求Route::post
- POST 请求Route::put
- PUT 请求Route::delete
- DELETE 请求Route::patch
- PATCH 请求Route::options
- OPTIONS 请求
4. 带参数的路由
定义带可选或必选参数的路由。可选参数在路由模式中以 ?
表示,表示该参数不是必需的,可以在 URL 中省略。
示例
定义带可选参数的路由
Route::get('/param/{id?}', function($id) { echo 'Add param: ' . ($id ? $id : 'No parameter provided'); });
使用
-
带参数
URL:
/param/123
输出:添加参数: 123
-
不带参数
URL:
/param
输出:添加参数: 未提供参数
5. 路由分组
将路由分组在公共前缀下
Route::group(['prefix' => '/parent/path'], function() { Route::get("", function() { echo "Default Page for /parent/path"; }); Route::get("/child", function() { echo "Path /child page of /parent/path"; }); });
5. 运行路由器
最后,执行路由器以处理传入的请求
Route::run();
贡献
如果您想为此库的开发做出贡献,请提交一个 pull request 或在 GitHub 上打开一个问题。
许可
此库受 MIT 许可证许可。有关详细信息,请参阅 LICENSE 文件。