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

原文平台:奥宏文档

2.x