极简 · 开放 · 务实
一个基于 PHP + SplitDB 构建的轻量级开源社区系统。
一、什么是 FlintHub?
FlintHub(燧石社区)是一个从零开始、纯手工打造的轻量级论坛系统。
核心定位:极简工程哲学,不追求商业变现,只追求极致的性能、清晰的架构和优雅的代码。
技术栈:
- 后端:纯 PHP,零 Composer 依赖,零框架
- 数据库:SplitDB(纯 SQLite 分片引擎)
- 前端:自研 Alpine.js 定制 + htmx 定制,无重型框架
- 语言:内置简体中文、繁体中文、英文三语
二、核心亮点
1. SplitDB 分片引擎
FlintHub 的核心底层发明,把数据按“季度时序分区 + 32 桶哈希”进行物理分片,存于独立文件。
- 数据自动分片,大数据量下依然高效
- 二级索引(帖子主索引、搜索索引、统计缓存)可随时从分片重建
- 数据永不丢失,任何索引都能重建
2. 正文外置
帖子正文存储在 extern/ 目录下的 .txt 文件中,不进数据库。
- 大幅减少数据库体积
- 数据库查询更快
- 帖子内容读取更高效
3. 插件系统
“一目录一插件,零侵入核心”的插件架构。
- 每个插件有独立数据库(
Plugin::db('插件名')) - 插件之间互不依赖、零耦合
- 三条硬性安全规则 + 八条最高级别红线
- 单钩子出错不影响其他插件和页面
4. 极简前端
- 自研 TemplateCompiler,支持
{if}、{loop}、{extend}等标签 - 6 套主题(深海蓝、烈焰红霞、翡翠绿、暗夜星辰、紫罗兰、Modern),全部 CSS 变量驱动
- 移动端完整适配(底部导航、抽屉式侧边栏)
三、技术特点
| 维度 | FlintHub |
|---|---|
| 后端 | 纯 PHP,零框架,零 Composer 依赖 |
| 数据库 | SplitDB(纯 SQLite 分片引擎) |
| 查询性能 | 首页 24 次查询(含 10+ 插件) |
| 页面渲染 | 约 0.02 秒 |
| 前端 | 自研 Alpine.js 定制 + htmx 定制 |
| 语言 | 简中 / 繁中 / 英文 |
| 主题 | 6 套 CSS 变量驱动 |
| 插件 | 一目录一插件,独立库,零耦合 |
四、为什么选择 FlintHub?
| 你需要的 | FlintHub 能给你 |
|---|---|
| 极简部署 | 纯 PHP + SQLite,无需配置数据库,解压即用 |
| 极速性能 | SplitDB 分片 + 正文外置 + 双层缓存,页面秒开 |
| 安全可靠 | 三条硬性规则 + 八条红线,安全内建于设计 |
| 扩展性强 | 一目录一插件,独立库,互不依赖 |
五、版本计划
- 当前版本:V1.0.56
- 开发哲学:极简工程哲学,不追求商业变现,只追求极致性能
六、开发历程
FlintHub 的前身是 SoSite(SS),经过多次迭代升级,最终演变为现在的 FlintHub(fh)。
- SplitDB(spd):自研分片引擎,从零开始,手工打造
- 插件规范:三条硬性规则 + 八条红线,让插件开发有章可循
七、社区
FlintHub 是燧石社区(flinthub.top)的底层系统,欢迎注册体验。
- 社区定位:极简、开放、务实
- 版块:社区公告、FlintHub 相关、技术分享、每日话题、综合讨论、精品软件
八、关于作者
独立开发者,从零开始,纯手工打造 FlintHub。
不追求商业变现,只追求极简工程哲学。
九、欢迎讨论
FlintHub 是一个持续打磨中的项目,欢迎在社区发帖讨论:
- 架构设计思路
- 插件开发规范
- SplitDB 分片引擎
燧石,是取火之石。每一次敲打,都是为了点燃更亮的光。
FlintHub · 燧石社区