ulthon_admin为了定制而生。所以当你用它开启一个项目的时候,不应再需要考虑后续升级的兼容性。这将为您的项目定制开发和优化带来极大的便利。
项目本身的代码量并不多,但是ulthon_admin做了一些通用功能和兼容,可能你不需要这些,这时,你可以选择将这部分代码删掉。
guzzle
ulthon_admin集成了guzzle,因为本项目默认实现了一个定时器,运行之后,每秒会访问配置的链接。这个访问是使用guzzle实现的。他利用了guzzle的并发请求特性,尽可能的提高定时器的性能。
替代方案
去除guzzle
一个简单地替代方案是使用file_get_content代替guzzle访问。
或者封装一个curl的函数
你需要app\common\command\Timer.php
修改这个文件,将对guzzle的依赖改成file_get_content的调用方式。
放弃内置定时器
ulthon_admin内置了定时器,如果你不喜欢或者不需要,可以直接删除它,我们会在下面讲到。
删除guzzle依赖
此时可以将guzzle依赖删除了。
composer remove guzzlehttp/guzzle
第三方上传组件
ulthon_admin在默认支持了阿里云
、七牛云
、腾讯云
三个第三方的上传组件。如果你不需要,完全可以将他们移除。
- 删除配置项
删除后台中的第三方组件配置app\admin\view\system\config\upload.html
- 删除composer依赖
你可以删除无用功的第三方组建依赖:
// 删除七牛云上传
composer remove overtrue/flysystem-qiniu
// 删除阿里云上传
composer remove xxtime/flysystem-aliyun-oss
// 删除腾讯云上传
composer remove chunpat/flysystem-tencent-cos
另外,你可以删除他们对应的thinkPHP驱动:
extend\think\filesystem\driver
├─ Alioss.php
├─ Qiniu.php
└─ Txcos.php
实际上不需要删除他们,他们都是按需加载的,况且也只有3个文件
内置定时器
ulthon_admin内置了一个定时器。如果不需要,可以这样做:
- 删除基类控制器
app\common\controller\TimerController.php
- 删除内置的定时器功能
app\tools\controller\timer
├─ ClearLog.php
└─ ResetPassword.php
- 删除命令行文件
app\common\command
├─ timer
│ └─ config.php
└─ Timer.php
- 删除guzzle
ulthon_admin集成guzzle只是为了定时器,此时可以删除这个依赖了。
composer remove guzzlehttp/guzzle
简易的导出
ulthon_admin内置实现了excel的导出,也因此集成了phpoffice/phpspreadsheet
依赖,如果不需要导出表格,只需要csv,则可以参考下面的步骤删除代码:
- 重构导出类的代码
将下面代码中的导出,去掉对phpspreadsheet的依赖
app\common\tools\ExportTools.php
- 删除依赖
composer remove phpoffice/phpspreadsheet
不要数据库迁移
ulthon_admin通过topthink/think-migration
安装数据库,这可以兼容更多的数据库(mysql,sqlite等等),如果你正在做的是一款定制产品,不存在分发安装的场景,并且不需要兼容更多的数据库,则可以在安装完ulthon_admin后删除迁移工具。
虽然安装程序(和ThinkPHP)支持多款数据库,但自动生成CURD仍然仅支持mysql
- 删除迁移文件
database
├─ migrations
│ ├─ 20220419022952_system_admin.php
│ ├─ 20220419030557_system_auth.php
│ ├─ 20220419031101_system_auth_node.php
│ ├─ 20220419031527_system_config.php
│ ├─ 20220419032028_system_menu.php
│ ├─ 20220419032642_system_node.php
│ ├─ 20220419033507_system_quick.php
│ ├─ 20220419034810_system_uploadfile.php
│ ├─ 20220419102226_debug_log.php
│ ├─ 20220419102635_mall_cate.php
│ ├─ 20220419102916_mall_goods.php
│ └─ 20220709061205_mall_tag.php
└─ seeds
└─ InitBaseAdminData.php
- 删除安装流程
service
├─ initAdminData
│ ├─ MallCate.php
│ ├─ MallGoods.php
│ ├─ MallTag.php
│ ├─ SystemAuth.php
│ ├─ SystemAuthNode.php
│ ├─ SystemConfig.php
│ ├─ SystemMenu.php
│ ├─ SystemNode.php
│ └─ SystemQuick.php
├─ InitAdminService.php
- 删除依赖
composer remove topthink/think-migration
原文标题:精简代码
原文文档:ulthon_admin
原文地址:https://doc.ulthon.com/read/augushong/ulthon_admin/62f61e413b2c0/zh-cn/2.x.html
原文平台:奥宏文档