hnraytek/flame-module-kernel

A declarative, auto-discovering, event-driven module kernel for PHP 8+/一款 php 8+ 的声明式、自动发现、事件驱动的模块内核

Maintainers

Package info

github.com/haoshuaioo/flame-module-kernel

pkg:composer/hnraytek/flame-module-kernel

Statistics

Installs: 6

Dependents: 0

Suggesters: 0

Stars: 1

Open Issues: 0

v1.0.0-beta 2026-06-22 15:26 UTC

This package is not auto-updated.

Last update: 2026-06-23 02:27:44 UTC


README

一款 PHP 8+ 的声明式、自动发现、事件驱动的模块内核,专为 ThinkPHP 6/8 框架设计。

✨ 特性

  • 声明式编程:使用 PHP 8 属性(Attributes)定义模块元数据,代码即文档
  • 自动发现:自动扫描 FlameModule 目录和 Composer 包,无需手动注册
  • 事件驱动:内置完善的事件系统,支持前置/后置事件钩子
  • 依赖注入:通过 #[Provides] 自动绑定服务到容器
  • 路由自动注册:基于属性的路由定义,自动注册到 ThinkPHP 路由系统
  • 缓存优化:支持元数据缓存,生产环境高性能运行;开发环境支持热更新
  • 模块化架构:轻松构建可插拔的模块化应用
  • 版本管理:支持语义化版本约束,自动检测升级
  • 智能同步:一键同步模块安装、升级、卸载状态
  • 灵活配置:支持模块启用/禁用、排除目录扫描等高级配置

📋 要求

  • PHP >= 8.1
  • ThinkPHP Framework ^6.0 || ^8.0

🚀 快速开始

1. 安装

composer require hnraytek/flame-module-kernel

2. 创建模块

#[Module(name: 'user', version: '1.0.0')]
#[Provides(UserServiceInterface::class, UserService::class)]
class UserModule {
    #[Route(path: '/users', methods: ['GET'])]
    public function index() {
        return json(['users' => []]);
    }
}

3. 初始化

php think flame discover

完成!更多详细说明请查看 快速开始指南

📚 文档

📝 更新日志

查看 change-log.md

📝 许可证

Apache-2.0 License

👤 作者

🤝 贡献

欢迎提交 Issue 和 Pull Request!

☕️ 支持项目

如果这个项目对你有帮助,请给个 Star ⭐

作为一个个人开发者,维护这个项目投入了大量的深夜时光和咖啡。如果这个项目帮到了您,希望您能请我喝一杯咖啡。

您的赞助不仅能让我多活几天(字面意思),也能让项目持续迭代,修复更多 Bug。

img.png