开发文档

开发文档

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 并清空明细——计数值准确、可复核。

更多

  • 主题/布局后台可直接调整;详细接口文档将随版本继续在本文档补全。