d3yii2 / d3backupmodules
该软件包最新版本(dev-master)没有可用的许可证信息。
dev-master
2022-06-07 09:41 UTC
Requires
- ext-zip: *
- yiisoft/yii2: *
This package is auto-updated.
Last update: 2024-09-07 14:32:59 UTC
README
##特性
- 使用它创建所需模块数据的压缩备份及其附件。 (通过控制台与cron一起运行)
- 发送完成过程的电子邮件(带链接,取决于视图)
- 检查过期参数以删除旧的压缩文件。
安装
通过composer安装此扩展是首选方式。
运行以下命令之一:
$ composer require d3yii2/d3backupmodules "*"
或者
"d3yii2/d3backupmodules": "*"
将其添加到你的composer.json
文件的require
部分。
配置
修改console.php
'components' => [ 'd3backupmodules' => [ 'class' => 'd3yii2\d3backupmodules\components\ModuleBackupBase', 'modelComponents' => [2 => 'd3modules\d3invoices\components\InvInvoiceBackup'], 'emailFrom' => 'Irēķini sistēma', 'emailBody' => '<a href="{$link}" target="_blank">Lejuplādēt arhīvu</a>', ] ]
修改main.php/web.php
'modules' => [ 'd3backupmodules' => [ 'class' => 'd3yii2\d3backupmodules\Module', 'backupDirectory' => $basePath . '/runtime/backups/' ] ]
使用方法
配置完成后,需要在首选模块中创建自定义组件(见下例)并包含视图。
重要
数据库中的数据列应为json格式,键为"id","error","date_from","date_to"
方法
通过传递变量(附加8个字符的随机字符串)创建自定义文件名并返回它。
public function createFileName(string $sys_company_name, string $list_name, string $date_from, string $date_to):string
通过传递的名称创建一个目录,并从给定的$html字符串生成第一个index.html。
public function createFile(string $fileName, string $html):string
创建压缩文件。
public function createZip(string $backUpFolder, string $fileNameFullPath, string $fileName, array $addFiles = [], D3BackupModule $model)
自定义组件示例
public function compile(array $backupData, D3BackupModule $model) { $moduleBackup = new ModuleBackupBase(); $fileName = $moduleBackup->createFileName('Company', 'Invoices', $model->getDataValue('date_from'), $model->getDataValue('date_to')); $html = \Yii::$app->view->render('@vendor/d3modules/d3invoices/views/d3yii2-backup/index', ['backupData' => $backupData]); $backupFolder = $moduleBackup->createFile($fileName, $html); $moduleBackup->createZip($backupFolder, $moduleBackup->backupDirectory.$fileName, $fileName, [], $model); }