# 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.php(app_version=3.2.5)。 扩展与集成 - core/extend:二维码、Excel、腾讯云 COS、Ueditor 等扩展。 - core/weixin:微信相关 SDK(网页授权、模板消息、JS-SDK 等)。