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

实现效果

基于本框架的项目,可以通过一行命令一键更新底层代码,享受新版本的特性。

同时为基于本框架的产品预留了更新机制,当您的产品分发后,其他用户可以通过相同的命令更新您的代码。

实现原理

扩展机制依赖了两个基本的规则,分别是PHP语法中类的继承和ThinkPHP的事件机制。仅此而已,并没有任何的门槛和心智负担。实际上,如果你不需要颗粒度细致到功能的扩展,仅靠类的继承也能完全符合扩展机制,也能实现一键更新。

文件优先级

当你打开本项目的源码后,会发现app下基本没有实质的代码,所有的类都继承了来自extend的文件,视图文件也是一样。

PHP源码

所有源码都在app下,这和ThinkPHP完全一致,所有系统源码都给予下面图中的规则:app中的代码继承底层类。

视图源码

所有涉及视图的操作,都会先到app下找对应的文件,比如Login/index这个方法,会先到app/admin/view/login.html找文件,如果找不到,则会到extend/base/admin/view/login.html,注意,不仅是fetch方法,包括include等也都遵循这个规则,因此理解和写起来很简单。

原文标题:扩展机制

原文文档:ulthon_admin

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

原文平台:奥宏文档

2.x