update to 2.5.1 (build 416)

This commit is contained in:
crazywhalecc 2021-07-09 12:59:07 +08:00
parent d67dfe46f6
commit a6f5952dee
7 changed files with 73 additions and 22 deletions

View File

@ -100,14 +100,62 @@ src/
}
```
#### - global-config-override
- 类型string | false。
- 含义:解包时是否需要手动编辑全局配置(`global.php`)。
| 字段名 | 类型 | 含义 |
| ---------------------- | ---------------------------------- | ---------------------------------------- |
| description | string | 模块的描述 |
| version | string | 模块的版本(建议使用 x.y.z 三段式) |
| depends | array of string例如`{"a":"b"}` | 模块依赖关系声明 |
| light-cache-store | string[] | 打包模块时要储存的持久化 LightCache 键名 |
| global-config-override | string \| false | 是否需要手动编辑全局配置(`global.php` |
| | | |
这里如果写 string 类型的,那么就是相当于在解包时会提示此处的内容,内容推荐填写要求解包模块用户需要编辑的项目,比如 「请将 static_file_server 的 status 改为 true以便使用静态文本功能」。
如果是 false那么和不指定此参数效果是一样的无需用户修改 global.php。
??? note "点我查看编写实例:"
```json
{
"name": "foo",
"description": "这个是一个示例模块打包教程",
"global-config-override": "请将 static_file_server 的 status 改为 true"
}
```
#### - allow-hotload
- 类型bool。
- 含义是否允许用户无需解压直接加载模块包文件phar
当此项为 true 时,可以将模块包直接放入 `zm_data/modules` 文件夹下,然后将 `global.php` 中的 `module_loader` 项中的 `enable_hotload` 改为 true启动框架即可加载。
??? note "点我查看编写实例:"
```json
{
"name": "foo",
"description": "这个是一个示例模块打包教程",
"allow-hotload": true
}
```
!!! warning "注意"
如果使用允许热加载,那么模块包中的配置最好不要有 `global-config-override``light-cache-store`,以此来达到最正确的效果,一般热加载更适合 Library类型的模块。
#### - zm-data-store
- 类型array of string例如 `["foo","bar"]`)。
- 含义:打包时要添加到模块包内的 `zm_data` 目录下的子目录或文件。
其中项目必须是相对路径,不能是绝对路径,且必须是在配置项 `zm_data` 指定的目录(默认会在框架项目的根目录下的 `zm_data/` 目录。
我们假设要打包一个 `{zm_data 目录}/config/` 目录及其目录下的文件,和一个 `main.png` 文件,下方是实例。
??? note "点我查看编写实例:"
```json
{
"name": "foo",
"description": "这个是一个示例模块打包教程",
"zm-data-store": [
"config/",
"main.png"
]
}
```
在打包时框架会自动添加这些文件到 phar 插件包内,到解包时,会自动将这些文件释放到对应框架的 `zm_data` 目录下。

View File

@ -1,8 +1,8 @@
# 更新日志v2 版本)
## v2.5.0未发布,测试中
## v2.5.0build 415
> 更新时间:未知
> 更新时间:2021.7.9
以下是版本**新增内容**

View File

@ -17,10 +17,10 @@ class SystemdGenerateCommand extends Command
protected function configure() {
$this->setDescription("生成框架的 systemd 配置文件");
ZMConfig::setDirectory(DataProvider::getSourceRootDir() . '/config');
}
protected function execute(InputInterface $input, OutputInterface $output): int {
ZMConfig::setDirectory(DataProvider::getSourceRootDir() . '/config');
$path = $this->generate();
$output->writeln("<info>成功生成 systemd 文件,位置:" . $path . "</info>");
$output->writeln("<info>有关如何使用 systemd 配置文件,请访问 `https://github.com/zhamao-robot/zhamao-framework/issues/36`</info>");

View File

@ -20,6 +20,10 @@ class ModuleListCommand extends Command
protected function configure() {
$this->setDescription("Build an \".phar\" file | 将项目构建一个phar包");
$this->setHelp("此功能将会把炸毛框架的模块打包为\".phar\",供发布和执行。");
// ...
}
protected function execute(InputInterface $input, OutputInterface $output): int {
ZMConfig::setDirectory(DataProvider::getSourceRootDir() . '/config');
ZMConfig::setEnv($args["env"] ?? "");
if (ZMConfig::get("global") === false) {
@ -38,10 +42,7 @@ class ModuleListCommand extends Command
$timezone = ZMConfig::get("global", "timezone") ?? "Asia/Shanghai";
date_default_timezone_set($timezone);
// ...
}
protected function execute(InputInterface $input, OutputInterface $output): int {
$list = ModuleManager::getConfiguredModules();
foreach ($list as $v) {

View File

@ -24,6 +24,10 @@ class ModulePackCommand extends Command
$this->setDescription("Build an \".phar\" file | 将项目构建一个phar包");
$this->setHelp("此功能将会把炸毛框架的模块打包为\".phar\",供发布和执行。");
$this->addOption("target", "D", InputOption::VALUE_REQUIRED, "Output Directory | 指定输出目录");
// ...
}
protected function execute(InputInterface $input, OutputInterface $output): int {
ZMConfig::setDirectory(DataProvider::getSourceRootDir() . '/config');
ZMConfig::setEnv($args["env"] ?? "");
if (ZMConfig::get("global") === false) {
@ -42,10 +46,7 @@ class ModulePackCommand extends Command
$timezone = ZMConfig::get("global", "timezone") ?? "Asia/Shanghai";
date_default_timezone_set($timezone);
// ...
}
protected function execute(InputInterface $input, OutputInterface $output): int {
$list = ModuleManager::getConfiguredModules();
if (!isset($list[$input->getArgument("module-name")])) {
$output->writeln("<error>不存在模块 ".$input->getArgument("module-name")." !</error>");

View File

@ -28,6 +28,10 @@ class ModuleUnpackCommand extends Command
]);
$this->setDescription("Unpack a phar module into src directory");
$this->setHelp("此功能将phar格式的模块包解包到src目录下。");
// ...
}
protected function execute(InputInterface $input, OutputInterface $output): int {
ZMConfig::setDirectory(DataProvider::getSourceRootDir() . '/config');
ZMConfig::setEnv($args["env"] ?? "");
if (ZMConfig::get("global") === false) {
@ -46,10 +50,7 @@ class ModuleUnpackCommand extends Command
$timezone = ZMConfig::get("global", "timezone") ?? "Asia/Shanghai";
date_default_timezone_set($timezone);
// ...
}
protected function execute(InputInterface $input, OutputInterface $output): int {
$list = ModuleManager::getPackedModules();
if (!isset($list[$input->getArgument("module-name")])) {
$output->writeln("<error>不存在打包的模块 ".$input->getArgument("module-name")." !</error>");

View File

@ -28,8 +28,8 @@ class ConsoleApplication extends Application
{
private static $obj = null;
const VERSION_ID = 415;
const VERSION = "2.5.0";
const VERSION_ID = 416;
const VERSION = "2.5.1";
/**
* @throws InitException