jonahh / omniroute
一个简化PHP URL路由的简单框架
v1.2.1
2024-08-28 14:43 UTC
README
OmniRoute 是一个轻量级、灵活的PHP路由库,旨在简化PHP应用程序中路由的管理。它允许您定义路由,使用正则表达式处理URL参数,并管理常见HTTP响应代码的错误回调。
特性
- 路由注册:轻松使用特定的HTTP方法和回调注册路由。
- 前缀支持:为路由组应用前缀以有效地组织和管理工作。
- 错误处理:为
404 Not Found和405 Method Not Allowed错误注册自定义回调。 - 正则表达式参数:支持使用正则表达式动态URL参数。
- 子路由集成:从外部文件包含和注册路由以提高模块化。
安装
composer require jonahh/omniroute
使用
基本路由注册
您可以通过调用add方法来注册一个简单路由。
use OmniRoute\Router; require __DIR__.'/vendor/autoload.php'; Router::add('/home', function() { echo "Welcome to the homepage!"; });
带参数的路由
要创建带有动态参数的路由,请使用<: :>包裹的占位符。
Router::add('/user/<:id:>', function($id) { echo "User ID: " . $id; });
路由前缀
您可以将路由分组到公共前缀下。
Router::registerPrefix('/api/v1'); Router::add('/users', function() { echo "Users endpoint"; });
设置前缀后添加的所有路由将自动包含它。
注册子路由
为了更好的模块化,您可以从外部文件加载路由。
Router::registerSubRouter('path/to/routes.php');
设置允许的方法
您可以为要调用的路由设置允许的方法。
Router::add('/api/post-only', function() { echo json_encode(["data"=>$data]); }, ["POST"]);
处理错误
您可以注册自定义错误回调以处理404和405错误。
Router::registerErrorCallback(OMNI_404, function($path) { echo "Error 404: The path $path was not found."; }); Router::registerErrorCallback(OMNI_405, function($path, $method) { echo "Error 405: The method $method is not allowed for $path."; });
运行路由器
最后,要执行路由器并处理传入的请求,请调用run方法。
Router::run();
许可证
此软件包是开源的,可在MIT许可证下获得。
作者
此软件包由 Jonah 开发。