开发文档
YeCha 是一个“少魔法、可读源码”的轻框架。核心目录与约定如下:
index.php / admin/index.php:前台与后台唯一入口。core/:核心类库——Db(PDO 封装与表前缀ye_)、Router(固定路由 → 语言前缀 → 分类/标签 → 归档 →{slug}.html→ 插件页)、Front(页面渲染与多语查询)、Plugins(插件引导)、Cache(文件缓存)、Mail、Feed、Lang/Poly等。themes/<name>/views/:主题模板(布局/文章/侧栏/部分视图),支持暗色与响应式。plugins/:插件目录,各自带plugin.php清单、页面/后台/功能块与migrations/(幂等迁移)。install/migrations/:核心升级迁移,ye_migrations记录执行历史;tools/upgrade.php触发。
插件开发入门
参考随系统发布的官方模块「博客圈(plugins/links,友链/收录/文章流)」,理解一个完整插件的骨架:
- 清单
plugin.php:声明 id/版本/页面 slug/后台函数/功能块/所需表。 - 数据:插件表通过
Db::t()自动加前缀;上线/更新用migrations/YYYYMMDD_*.php,由插件引导在启用时自动执行。 - 前台:
pages注册即获得独立路由;后台注册admin_file/admin_fn;侧栏注册blocks。 - 迁移即代码:友链表、收录表、点击去重等都以插件自有表承载,卸载时按
uninstall声明清理。
约定
- 内容走
ye_contents,多语言成组走ye_poly_contents;术语(分类/标签)多语别名在ye_metas.slug_i18n。 - 阅读量:前台
POST /count入ye_views(append 日计数),tools/sync-views.php定期回写contents.views并清空明细——计数值准确、可复核。
更多
- 主题/布局后台可直接调整;详细接口文档将随版本继续在本文档补全。