ap-lib/routing
Composer 安装命令:
composer require ap-lib/routing
包简介
High-performance, flexible PHP routing library designed for speed and extensibility. Routing is optimized for static method calls and relies on a pre-built index for maximum efficiency. It provides simple, direct hashmap-based routing while allowing custom strategies and middleware support.
README 文档
README
High-performance, flexible PHP routing library designed for speed and extensibility.
Routing is optimized for static method calls and relies on a pre-built index for maximum efficiency. It provides simple, direct hashmap-based routing while allowing custom strategies and middleware support.
Installation
composer require ap-lib/routing
Features
- 🚀 Performance-first - Designed for minimal overhead, using direct static method calls
- ⚡ Pre-built index - Requires indexing routes in advance for the fastest possible lookups
- 🔗 Static hashmap routing - Default routing mechanism based on an ultra-fast hashmap index
- 🛠 Extensible architecture - Supports custom routing strategies through a plugin-like system
- 🔄 Middleware support - Easily add middleware for request processing and authentication
Requirements
- PHP 8.3 or higher
Getting started
Base use case
#Handlers must be static methods class MainController { public static function handlerRoot(Request $request): Response { return new Response("main page"); } public function handlerHelloName(Request $request): Response { $name = isset($request->get['name']) && is_string($request->get['name']) ? $request->get['name'] : "guest"; return new Response("Hello " . htmlspecialchars($name)); } } // make routing $routing = new Hashmap(); // setup index $index = $routing->getIndexMaker(); $index->addEndpoint(Method::GET, "/", new Endpoint( [MainController::class, "handlerRoot"] )); $index->addEndpoint(Method::GET, "/hello", new Endpoint( [MainController::class, "handlerHelloName"] )); // init routing $routing->init($index->make()); // run `GET /` try { $routingResult = $routing->getRoute(Method::GET, "/"); } catch (NotFound) { throw new Exception("ERROR NOT FOUND"); } // execute handler + optional middlewares $response = $routingResult->endpoint->run( request: new Request( method: Method::GET, path: "/", get: [], post: [], cookie: [], headers: [], files: [], body: "", params: $routingResult->params, ip: "127.0.0.1" ) ); /* AP\Routing\Response\Response Object ( [body] => main page [code] => 200 ) */ // run `GET /hello?name=John` try { $routingResult = $routing->getRoute(Method::GET, "/hello"); } catch (NotFound) { throw new Exception("ERROR NOT FOUND"); } $response = $routingResult->endpoint->run( request: new Request( method: Method::GET, path: "/hello", get: ["name" => "John"], post: [], cookie: [], headers: [], files: [], body: "", params: $routingResult->params, ip: "127.0.0.1" ) ); /* AP\Routing\Response\Response Object ( [body] => Hello John [code] => 200 ) */
ap-lib/routing 适用场景与选型建议
ap-lib/routing 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 59 次下载、GitHub Stars 达 0, 最近一次更新时间为 2025 年 02 月 04 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 ap-lib/routing 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 ap-lib/routing 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 59
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 31
- 依赖项目数: 3
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-02-04