3.1 KiB
3.1 KiB
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 等)。