[开发]FlintHub 1.0 代码统计报告

👑Lv.11 元老 🌞 骨干会员
2026-10-24 00:16:57

本文由 FlintHub 开发文档归档发布。原始文档日期见标题前缀,来源:暂存20260913/docs/代码统计 (2).md。

FlintHub 1.0 代码统计报告

版本:FlintHub V1.0.0(SplitDB 纯 SQLite 分片引擎)

统计口径:安装包 FlintHub1.0.0/(最终交付物,已精简迁移/测试/诊断脚本)

统计方法:PHP 脚本逐文件逐行计数(含空行/非空行)

日期:2026-08-16 | 备查文档


一、总览

交付物总计:351 个文件 / 44,285 行(非空 40,363 行)

目录文件数行数占比
app/(全量业务代码)12920,68546.7%
plugins/(15 插件)18315,77035.6%
assets/(CSS/JS/资源)256,19714.0%
cli/(精简三件套)32850.6%
入口文件(index/install/cron/nginx)49232.1%
protected/(防护文件)2440.1%
data/(防护文件)2430.1%
说明.md / 文档23360.8%
SVG 徽标2320.1%

另单列(不计入交付物):protected/database/legacy/(旧 MySQL 归档死代码)3 文件 / 1,148 行,仅存档不参与运行。


二、按文件类型

类型文件数行数
.php27231,964
.css247,604
.js92,922
.md141,237
.json(插件清单)15216
.svg12182
.conf(nginx-server.conf)173
.htaccess245
.config(web.config)242


三、app/ 核心模块明细(20,685 行 PHP)

模块文件数行数说明
Core(框架内核)61,514Autoloader/Router/Controller/Model/Database/TemplateCompiler
Controllers294,963前台 13 + 后台 16(含 Admin 子目录)
Helpers204,543Auth/Permission/Csrf/Content/Search/Settings/PageCache 等
Models102,211User/Thread/Post/Category/Tag/Blog/Message/Setting 等
SplitDB(分片引擎)92,098DBFactory/IDGenerator/ShardRouter/ExternStorage/Queue/QueueConsumer/Schema/SearchIndexStore/ViewCounter
Views545,168前台/后台全部模板视图
init.php1188应用初始化

3.1 SplitDB 分片引擎(9 类,2,098 行)

类职责亮点
DBFactorySQLite 连接池LRU ≤8 句柄、统一 6 条 PRAGMA、禁持久连接
IDGenerator全局 ID 生成BEGIN IMMEDIATE 原子取号(兼容无 RETURNING 的 SQLite 3.33)
ShardRouter分片路由季度 + ID%32 哈希双级分区,读取以 bucket_path 为准
ExternStorage正文外置存储tmp+rename 原子写;.bin/.idx 偏移索引 + .txt 回退
Queue / QueueConsumer异步任务队列3 队列打散锁竞争;CAS 抢占/超时恢复/重试上限
Schema初始化与种子幂等 bootstrap + 默认种子 + .htaccess/web.config 防护生成
SearchIndexStore搜索索引季度分文件存储(与 business 库物理隔离)
ViewCounter浏览计数APCu 内存计数 + shutdown 落库;无 APCu 降级直写

3.2 Helpers(20 个,4,543 行)

AuditLog / Auth / Captcha / Content / Csrf / Emoji / Mailer / PageCache / Permission / Plugin / Points / RateLimiter / RememberMe / Search / Segmenter / Settings / Tag / Theme / Upload / Vote

3.3 Controllers(29 个,4,963 行)

  • 前台 13:Home / Forum / Thread / Post / Auth / Profile / Message / Blog / Search / Tags / Theme / Api / Attachment
  • 后台 16:Base / Dashboard / User / Thread / Category / Blog / Tag / Level / Group / Theme / Settings / Database / Maintenance / Trashed / Plugin / Verify

四、插件明细(15 个,合计 14,839 行 PHP/JS/CSS)

插件文件数行数插件文件数行数
content_review(内容审核)182,028notifications(通知)15626
quiz_duel(答题对决)111,768seo(SEO)11541
icon_generator(图标生成)81,677announcements(公告)9588
medal(勋章系统)161,549invite(邀请注册)11367
red_packet(红包)101,115edit_info(编辑历史)6266
friend_links(友情链接)131,021user_profile(用户主页)10850
dice(掷骰子)9845post_favorite(帖子收藏)11779
daily_checkin(每日签到)12819合计17014,839

注:插件目录内 data/{id}.sqlite 独立数据库不统计(运行时生成);plugins_cache.php 为扫描缓存不计入。


五、cli/ 与入口文件

5.1 cli/(安装包精简三件套,285 行)

文件行数用途
worker.php83队列消费者(常驻 / --once)
rebuild_search.php92重建搜索索引
archive.php110冷数据归档

5.2 根目录入口文件(923 行)

文件行数
index.php258
install.php520
cron_trigger.php72
nginx-server.conf73


六、资产(assets/,6,197 行)

子目录文件数行数
css/(modern 主题基座 + components/admin/editor/style/fontawesome + themes 变体)104,010
js/(editor.js 自研编辑器 2,017 行 + thread.js/auth.js)32,017
lib/(fhstate/fhajax 定制封装)220
medals/(勋章 SVG)10150

注:第三方库(marked.min.js / turndown.js / turndown-plugin-gfm.js / qrcode.min.js / fontawesome)不计入;assets/uploads/(用户上传+种子头像)不统计。


七、与根目录对比

口径文件数行数说明
根目录全量(开发环境)37951,433含迁移/测试/诊断脚本(+7,148 行)
安装包交付物35144,285精简后的最终发行形态
差值(已精简)-28-7,148migrate×4、seed×2、smoke×14、probe、_tmp/_debug 临时脚本

精简内容:migrate.php / migrate_extern_to_bin.php / migrate_search_quarters.php / migrate_plugins.php / shrink_business.php(迁移优化类);seed_content.php / seed_content_data.php(测试数据生成);smoke_.php ×14(冒烟测试);probe_page_cache.php(诊断);_debug_ / _tmp_*(开发临时脚本)。


八、数据规模基线(供性能评估参考)

数据项规模
用户50,008
帖子(topic_index)192,111
回复(reply_index)160,753
搜索索引(search_index 季度分文件)2,357,922
正文外置(extern)351,509 条(.bin/.idx + .txt)
分片桶季度 × 32 桶(active)+ 归档桶


代码统计完。统计脚本用后即删,数据基于安装包 FlintHub1.0.0/ 实际文件逐行计数。

轻量级、高性能、零 MySQL 依赖的PHP社区系统。
| Views 2 | Replies 0

All Replies (0)

No replies yet

Please Log in