首页 / 开发文档

从安装到上线的开发文档

文档与框架版本同源维护,跟着升级一起交付。这里先给一份能上手的导航:环境、目录、模板、后台页面、钩子与自定义字段,以及高频问题的排查顺序。

新手向单文件 + jQuery无需构建同源维护

快速开始

五步安装:指向 public/ → 配置数据库 → 运行安装向导 → 填系统设置 → 保护安装锁。本地体验可用 PHP 内置服务器:

php -S 127.0.0.1:8080 -t public public/index.php
php bin/migrate.php --status      # 查看迁移状态
php bin/migrate.php               # 执行迁移

命令行入口统一收拢在 bin/,迁移不要绕过它单独执行。

目录结构

  • public/ —— 唯一 Web 入口、静态资源与短时下载区
  • apcore/System/ —— 启动装配与 CI4 应用目录,不建议修改
  • apcore/Core/ —— 核心能力:主题引擎、字段、钩子、应用管理、存储
  • apcore/addon/ —— 业务应用,按目录名自动发现
  • apcore/My/ —— 覆盖层,客户现场定制放这里
  • template/ —— 主题包,位于 Web 根之外
  • apcore/storage/ —— 升级与市场运行数据,Web 根之外
  • cache/ —— 可清理的缓存与临时产物

应用与插件

自成一块业务、有后台菜单的算「应用」;只把能力挂给别人调用的通道/驱动算「插件」(短信、对象存储、设备驱动等)。两类在后台分开管理。

一个应用就是一个目录,自带清单、路由、菜单、权限点、迁移与后台页面:

apcore/addon/Demo/
├── Config/App.php        # 名称、类型、版本、权限点
├── Config/Routes.php     # 路由(handler 用完全限定名)
├── Config/Menu.php       # 后台菜单条目
├── Controllers/          # 前台 / 后台控制器
├── Models/  Services/    # 数据与业务
├── Database/Migrations/  # 可逆迁移
└── Assets/admin/         # 后台页面(单文件 + jQuery)

启用后菜单、路由、权限点自动就位;停用则菜单消失,卸载走迁移回滚。

模板与主题

主题放在 template/<id>/,由 manifest.php + pages/<page>.php + partials/ 组成,静态资源放 public/static/theme/<id>/。切换主题改配置或走后台「模板主题」即可。

模板标签极简,支持变量、条件、循环与片段引入:

{{ site.name }}                    变量(默认转义)
{{ article.content|raw }}        原样输出富文本
{{#if site.icp }}...{{/if }}      条件
{{#each nav as item }}...{{/each }}  循环
{{#include "header" }}           引入片段

注意:标签解析器不支持 {{#if}} 嵌套,也没有 {{#else}} 与 |default 过滤器;循环内部要展示可空字段,直接写变量即可(缺失时输出空串)。主题还可以为某个栏目提供 pages/column-<slug>.php 专属页,优先于通用详情页。

后台页面

后台页面用单文件 + jQuery 写,统一复用 ap-* 组件与设计变量,不引入另一套样式。数据通过 AP.api() 走后台接口:

AP.api('/demo/list').then(function (rows) { /* 渲染表格 */ });
AP.api('/demo/save', { method: 'POST', body: data });

列表、表单、抽屉、操作列都有现成约定;新页面请沿用,避免自成一套视觉。

自定义字段

字段由 schema 驱动,内置 15 种类型(文本、多行、富文本、数字、开关、下拉、单选、多选、标签、日期、图片、附件等)。在应用里注册字段模型后,表单渲染与存储自动跟上,加字段不用改前端。

钩子事件

注册、订单、支付等关键动作的前后都有框架级事件契约。业务方在 Config/Hooks.php 里挂载回调,不要在核心流程里内联业务逻辑:

return [
    'order.after_create' => [['priority' => 100, 'callback' => ...]],
];

升级与排错

升级包带 RSA 签名与完整性清单,升级前可比对官方文件哈希、识别现场被改动的文件。出包白名单只含核心与官方应用目录,模板、配置、上传、客户自建应用不下发。

排错顺序建议:先看 cache/logs/ 当日日志 → 检查目录权限与 PHP 扩展 → 确认 Web 根指向 public/ → 再看迁移状态。可选组件(zip、redis、workerman 等)缺失时框架会自动降级,不必先怀疑功能没实现。

常见问题

  • 搬家后后台菜单为空? 超管权限点与角色权限有关,先在后台点「更新缓存」清权限缓存。
  • 换模板要改 PHP 吗? 不用,程序模板分离,改 template/ 目录即可。
  • 接口 404? 检查路由 handler 是否用了前导反斜杠的完全限定名。
  • 页面显示 function () { [native code] }? 模板当值渲染的标识符写在了 methods 里,挪进 computed。
文档导航

按角色找内容

部署运维下载中心 →
  • 01 五步安装与环境要求
  • 02 数据库一主一备配置
  • 03 在线升级与回滚
  • 04 日志与完整性校验
  • 01 addon 目录与 Config/App.php
  • 02 路由、菜单与权限点
  • 03 钩子事件与自定义字段
  • 04 迁移与可逆回滚
前端与模板模板与主题 →
  • 01 主题三层模型
  • 02 模板标签语法与限制
  • 03 栏目专属页面模板
  • 04 后台页面组件规范

文档没覆盖到你的问题?

把场景、版本与报错信息发给我们,既能拿到解答,也能顺手把文档补上。