bjornbasar/karhu
Composer 安装命令:
composer require bjornbasar/karhu
包简介
Minimal PHP microframework — attribute-routed, zero dependencies, PHP 8.3+
README 文档
README
Minimal PHP microframework — attribute-routed, zero runtime dependencies, PHP 8.3+.
Why karhu?
A small framework you can read end-to-end. ~1200 LOC core, no closures-as-routes, no YAML, no required dependencies — controllers declare routes via PHP attributes. Extras (DB, queue, view) ship as separate packages.
Install
composer create-project bjornbasar/karhu-skeleton myapp cd myapp composer serve # http://localhost:8080
Or add karhu to an existing project:
composer require bjornbasar/karhu
Hello world
use Karhu\Attributes\Route; use Karhu\Http\Response; final class HomeController { #[Route('GET', '/hello/{name}')] public function hello(string $name): Response { return Response::json(['hello' => $name]); } }
Register the controller in config/controllers.php and karhu's attribute scanner wires the route automatically.
What's in the box
| Capability | Where |
|---|---|
Attribute routing (#[Route]) |
src/Http/Router.php + src/Attributes/Route.php |
| Middleware pipeline (PSR-15 shape) | src/Http/MiddlewarePipeline.php |
| Auto-wiring DI container (PSR-11 shape) | src/Container/Container.php |
| RBAC + PasswordHasher (argon2id) | src/Auth/ |
| Session, CSRF, CORS, RequireRole middleware | src/Middleware/ |
Validation attributes (#[Required], #[StringLength], #[In]) |
src/Http/Validation/ |
| RFC 7807 error responses | src/Error/ExceptionHandler.php |
CLI dispatcher (#[Command]) |
src/Cli/ + bin/karhu |
| Logger interface (PSR-3 shape) | src/Log/ |
| Production route cache | bin/karhu route:cache |
Companion packages
| Package | Purpose |
|---|---|
| karhu-skeleton | Starter app template |
| karhu-db | Thin PDO wrapper + active-record base + PdoUserRepository |
| karhu-queue | Queue/worker abstraction, ships with DB driver |
| karhu-view | Template engine bridge (Twig + Plates adapters) |
| istrbuddy | Reference issue-tracker app dogfooding the full stack |
Development
composer install composer check # cs-check + phpstan + tests composer test # PHPUnit only composer analyse # PHPStan level 8 composer cs-fix # php-cs-fixer (PER-CS2.0) bin/karhu route:cache # compile route cache for production
PHP 8.3 + 8.4 are tested via the GitHub Actions matrix.
Documentation
- DOCS.md — tech stack, directory layout, design decisions
- docs/ — MkDocs Material source (full reference, ADRs)
- docs/adr/ — architectural decision records
License
MIT
bjornbasar/karhu 适用场景与选型建议
bjornbasar/karhu 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 190 次下载、GitHub Stars 达 0, 最近一次更新时间为 2026 年 04 月 14 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 bjornbasar/karhu 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 bjornbasar/karhu 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 190
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 27
- 依赖项目数: 1
- 推荐数: 1
其他信息
- 授权协议: MIT
- 更新时间: 2026-04-14