迅睿的配置按职责分散在多处:静态公共配置、运行时生成配置、二次开发覆盖、应用私有配置,以及核心/框架内置配置。改配置前先分清层级,避免动错目录或误删运行时文件。
| 层级 | 路径 | 性质 | 是否可手改 |
|---|---|---|---|
| 公共配置 | config/(CONFIGPATH) | 站点级静态配置,代码仓库常一并维护 | 可改(建议备份) |
| 运行时配置 | cache/config/(WRITEPATH.'config/') | 安装/后台保存后生成,系统启动强依赖 | 勿随便删;优先在后台改 |
| 二次开发 | dayrui/My/Config/ | 版本、菜单、授权、安装扩展等覆盖 | 可改(推荐落点) |
| 应用配置 | dayrui/App/{应用}/Config/ | 应用描述、钩子、路由、自动加载等 | 可改(随应用维护) |
| 业务核心配置 | dayrui/Fcms/Config/ | 内置菜单、安装 SQL、语言包等 | 禁止修改 |
| 框架配置 | dayrui/System/Config/ | 底层 Database、Cache、Services 等 | 禁止修改 |
对应常量 CONFIGPATH。引导时会直接 require 其中部分文件。常见文件:
| 文件 / 目录 | 用途 |
|---|---|
hooks.php | 站点级钩子注册 |
rewrite.php | 伪静态 URL 解析规则 |
router.php | 自定义路由补丁(可强制改写 s/c/m) |
redis.php | Redis 连接参数 |
custom.php | 自定义函数 / 早期扩展(引导极早加载) |
field.php、myfield/ | 字段相关扩展配置 |
fileext.php | 上传等扩展名相关 |
notice/、page/、pay/ | 通知、页面、支付等扩展配置目录 |
加载优先级上,部分场景会先尝试 WEBPATH.'config/'(与运行目录同级的 config),否则读 CONFIGPATH。
由安装程序或后台写入,属于重要数据(官方明确:不可随意删除)。典型文件包括:
system.php:系统参数(启动时合并进 $system)
cache.php:缓存开关等
site.php:站点信息
domain_app.php / domain_site.php / domain_client.php / domain_sso.php:域名与多站相关
webpath.php:入口目录相关配置
其它:如定时任务锁、运行时间戳等运行态文件
建议在后台「系统参数」等界面修改并由系统落盘;手工改 PHP 返回值时务必语法正确并先备份。清空 cache/ 其它子目录时,不要误删 cache/config/。
对应 MYPATH.'Config/',与官方核心并行,适合站点级定制:
Version.php:版本与产品名称
Menu.php:菜单扩展/覆盖
License.php:授权相关信息
Install.php:安装流程扩展
其它自定义配置文件可按业务自行增加,由你的代码主动加载
菜单等往往采用「核心 Menu + My Menu + 应用菜单」合并方式,具体以菜单相关文档为准。
每个应用在 dayrui/App/{Name}/Config/ 下维护自身配置。常见文件:
| 文件 | 用途 |
|---|---|
App.php | 应用元信息(名称、图标、type 如 module 等) |
Hooks.php | 应用钩子(已安装时自动加载) |
Auto.php | 追加 PSR-4 / classmap |
Routes.php | 应用路由相关 |
Filters.php | CSRF 等过滤器白名单 |
Mwhere.php | 数据条件扩展标记 |
Before.php 等 | 按应用约定的前置逻辑(视应用而定) |
多数扩展配置仅在存在 install.lock 时生效。
dayrui/Fcms/Config/:如内置 Menu.php、Install.sql、语言包。需要定制时用 My 覆盖或后台功能,不要直接改 Fcms。
dayrui/System/Config/:底层框架配置类。业务侧一般不直接改这里。
全站 URL / 钩子 / Redis:放 config/
后台改站点名、域名、系统开关:走后台 → 写入 cache/config/
本站点二次开发菜单、版本标识:放 dayrui/My/Config/
某个插件自己的钩子与自动加载:放该应用 Config/
永远不要为「图省事」去改 Fcms/Config 或清空整个 cache/config