ulthon_admin
欢迎 目录和文件规范 系统架构 命名规范 php-cs-fixer public/static目录规范 app/common目录规范 数据库规范 CURD 命令行 表结构 数据库迁移代码 最佳实践 数据库自动缓存 后台菜单导入导出 权限的用法 table数据表格 cols operat _if titleField field selectList valueParser trueHide fieldFormat templet defaultValue search相关 time defaultSearchValue defaultToolbar init formFullScreen toobar modifyReload 控制器 CURD方法 导出 控制器通用验证 dataBrage向js传递参数 组件控件 select 下拉菜单option拼接 lay-submit paste-text粘贴 multiple-columns editor data-upload上传 tag-input标签输入 property-input动态字段输入 data-date时间控件参数 table-data列表选择器 city-picker城市选择器 copy-text 全局监听组件 data-request data-open 内置定时器 并发模式 重置密码 系统配置 PHP助手函数 sysconfig JS助手函数 checkMobile empty open 弹框 叠加loading getDataBrage getQueryVariable 扩展机制 事件扩展 实现事件 执行事件 事件列表 AdminLayoutRequireAfter LoadMigrationFiles AdminLoginIndex AdminLoginForget AdminLoginType AdminMenuTab AdminLayoutRequireBefore 自动更新 性能优化 精简代码 关闭数据库日志驱动 皮肤 正常 科幻 其他 切换模块时直接切换内容 关闭上传文件注入检测 代码编译原理 接入workerman和命令参数 升级TP6.1 Request的默认过滤 异步引入全局script 线上安装脚本 兼容PHP8.1

自动更新

本框架实现了扩展机制,所有代码(除了自己新增的代码,比如增删改查或其他任何文件),只要遵循了扩展机制,底层可以通过一行命令一键更新。

更新命令:

  1. php think admin:update

这会将底层代码更新到最新版本,需要环境中安装git并能够直接调用。

二次分发更新

v2.0.104+

如果您直接使用本框架开发了项目,想用新版本的特性,直接使用前章所示命令即可。但如果您也打算做一个标准化的产品,本框架也提供了更新机制。

修改代码

修改文件:app\common\command\admin\Version.php,填写自己的版本号:

  1. <?php
  2. declare(strict_types=1);
  3. namespace app\common\command\admin;
  4. use base\common\command\admin\VersionBase;
  5. class Version extends VersionBase
  6. {
  7. public const PRODUCT_VERSION = '填写自己的版本号';
  8. }

修改文件:app\admin\service\AdminUpdateService.php,填写自己的git地址。

  1. <?php
  2. namespace app\admin\service;
  3. use base\admin\service\AdminUpdateServiceBase;
  4. class AdminUpdateService extends AdminUpdateServiceBase
  5. {
  6. public const PRODUCT_REPO = 'https://您自己的git地址.git';
  7. }

版本号规则

对版本号有规则限制,需要符合version_compare函数的规则,否则无法正确识别新版本、老版本。
函数官方文档:
https://www.php.net/manual/zh/function.version-compare.php

更新命令

修改完上面两个文件后,最初的命令不变,此时会更新您的代码,而不再是ulthon_admin的代码了。

  1. php think admin:update

如果您作为产品研发者需要更新ulthon_admin的新版本怎么办呢?只需要增加参数--update-ulthon即可。

  1. php think admin:update --update-ulthon

这样就会把最新的ulthon_admin更新到本地。

更新提示

新建文件app\admin\service\adminUpdateData\tips.php

  1. <?php
  2. // 升级的注意事项
  3. return [
  4. [
  5. 'version' => 'v1.0.2',
  6. 'desc' => [
  7. '发布新版本',
  8. ],
  9. ],
  10. ];

该文件是升级的注意事项,不需要每个版本都填写,只有当下游开发者更新后需注意提醒的才记录,比如:

  • 手动引入新的依赖
  • 更新依赖
  • 破坏性更新
    等等。

我不想通过公开的git仓库怎么办

目前只能通过git实现更新,暂时也没有实现多种更新渠道的机制。如果我们不希望通过公开的git发布更新,对此,我们可以搭建一个私有的git,然后给客户分配git账号,让他们先获得您私有git的权限,再更新,代码无需调整。

如何便捷的发布版本

前文提到,框架中标识的版本必须和实际的git标签一致,这本身时间很简单的事情,手动保持一致就可以了嘛,但我们仍然提供了一个命令,让您能够方便的发布版本。

编辑文件app\common\command\admin\Version.php

  1. <?php
  2. declare(strict_types=1);
  3. namespace app\common\command\admin;
  4. use base\common\command\admin\VersionBase;
  5. class Version extends VersionBase
  6. {
  7. public const PRODUCT_VERSION = '填写自己的版本号';
  8. public const COMMENT = [
  9. '填写您自己的版本号',
  10. '发布新版本',
  11. ];
  12. }

最后运行命令:

  1. php think admin:version --push-tag

就会把您提交的代码和tag推送到您的git仓库里。

原文标题:自动更新

原文文档:ulthon_admin

原文地址:https://doc.ulthon.com/read/augushong/ulthon_admin/670cec64691dc/zh-cn/2.x.html

原文平台:奥宏文档

2.x