Files
geneagro_cms/doc/Architecture.md

3.1 KiB
Raw Permalink Blame History

GeneAgro CMS 架构与目录说明

总体概览

  • 项目基于 PbootCMS 内核按“前台Home/后台Admin/接口API/公共Common/核心Core”五层组织。
  • 入口文件:
    • index.php前台入口。
    • iotadmin.php后台入口。
    • api.php接口入口。
  • 初始化:入口文件加载 core/init.php完成常量定义、错误处理、自动加载、环境校验与会话初始化。

核心目录与职责

  • apps/home前台控制器与模型负责页面展示与内容读取。
  • apps/admin后台控制器、模型与视图用于系统配置、内容管理、会员管理等。
  • apps/api接口层如需扩展或新增接口建议在此目录组织
  • apps/common公共控制器AdminController、HomeController、ApiController、公共路由route.php与版本信息。
  • core/basic框架基础能力Controller/Model/Db/Cache/Log/Config/Kernel/Response 等)。
  • core/function通用函数库helper/handle/file
  • core/log日志实现数据库与文本
  • core/view模板视图与解析器。
  • config项目级配置config.php、database.php、route.php
  • template/default默认主题与静态资源Bootstrap/JS/CSS
  • rewrite伪静态规则示例Apache/Nginx/IIS

加载与路由

  • 自动加载core/basic/Basic.php::autoLoad。
    • 支持框架类、应用类与命名空间类加载。
  • 路由apps/common/route.php 定义系统主路由,包括:
    • 后台admin/system、admin/content、admin/member。
    • 前台sitemap。
    • 接口api/list、api/content、api/about、api/search。
  • 可在 config/route.php 中做项目级路由扩展或覆盖。

控制器与视图

  • 基类core/basic/Controller.php。
    • display/parser模板解析与输出支持 gzip 压缩与运行时统计。
    • assign/getVar模板变量注入与获取。
    • cache页面缓存可选
    • log统一日志写入支持 db/text
  • 视图引擎core/view/*Parser/View支持主题与变量替换。

会话与缓存

  • 会话Basic::setSessionHandler默认文件存储支持 Memcache需安装扩展并配置
  • 缓存core/cache/*Memcache 驱动可选(需启用扩展与配置)。

日志

  • 文本日志core/log/LogText.php日志文件位于 log/ 下,按日归档。
  • 数据库日志core/log/LogDb.php写入 ay_syslog 表字段level、event、ip、os、bs、user、time
  • 控制器内通过 $this->log(...) 或 Controller::log(...) 写入。

文件与上传

  • 文件/目录core/function/file.php 提供创建、检测、复制、列表、删除等工具函数。
  • 上传upload() 支持格式校验、尺寸限制与水印(配合配置项使用)。

版本与配置覆盖

  • 默认配置core/convention.php。
  • 应用配置覆盖config/config.php 与 config/route.php。
  • 版本apps/common/version.phpapp_version=3.2.5)。

扩展与集成

  • core/extend二维码、Excel、腾讯云 COS、Ueditor 等扩展。
  • core/weixin微信相关 SDK网页授权、模板消息、JS-SDK 等)。