mirror of
https://gitee.com/hyperf/hyperf.git
synced 2024-11-29 18:27:44 +08:00
Added hyperf/config
changed into 3.1 Upgrade guide (#6130)
This commit is contained in:
parent
e7a82ce706
commit
212370183b
34
docs/en/upgrade/3.1.md
Normal file
34
docs/en/upgrade/3.1.md
Normal file
@ -0,0 +1,34 @@
|
||||
# 3.1 Upgrade Guide
|
||||
|
||||
- Version 3.1 mainly changes the minimum version of `PHP` to `8.1` and the minimum version of `Swoole` to `5.0`.
|
||||
- Introduced `Pest` testing framework
|
||||
- Added `hyperf/helper`, migrated `None namespace helper functions` from `Hyperf\Utils` to `hyperf/helper`.
|
||||
- Change the way `hyperf/config` loads multi-level configuration files to support `. ` syntax, e.g., `config('a.c')`
|
||||
|
||||
## Utils package changes
|
||||
|
||||
The helper functions in the original utils package did not have namespaces added, and might conflict with functions in other composer packages, so they were removed and replaced in 3.1.
|
||||
|
||||
There are two ways to handle this
|
||||
|
||||
- If no other packages are introduced into the application, it will cause function conflicts, so you can install `hyperf/helper` directly, and the `helper` package provides helper functions without namespaces, which is the same as the original `utils` package.
|
||||
- Namespaces are introduced where helper functions are called, and can be refactored using `rector` [refactoring docs here 🔎](https://github.com/orgs/hyperf/discussions/5635)
|
||||
|
||||
## Configuration file loading changes
|
||||
|
||||
In 3.0, configurations existed with `config file name` as the key, whereas in 3.1, `hyperf/config` multi-tier config files are loaded with `relative directory.Config file name` as the key.
|
||||
|
||||
Support for `. ` syntax, such as `config('a.c')`.
|
||||
|
||||
In this regard, it is important to note that the following two cases are handled in the original project
|
||||
|
||||
- 3.0 project has created a subdirectory in `config/autoload`, e.g. `config/autoload/sub/a.php`, the original `config('a')` needs to be changed to `config('sub.a')`.
|
||||
- Configuration file names in 3.0 projects contain `. `, such as `config/autoload/a.b.php`, will return the following structure when using `config('a')`, and if you also have a `config/autoload/a.php` configuration file, you will also get the result after merging the configuration items.
|
||||
```php
|
||||
return [
|
||||
'a.php config key' => 'a.php config value',
|
||||
'b' => [
|
||||
'a.b.php config key' => 'a.b.php config value',
|
||||
]
|
||||
];
|
||||
```
|
@ -3,6 +3,7 @@
|
||||
- 3.1 版本主要修改了 `PHP` 最低版本为 `8.1`,`Swoole` 最低版本为 `5.0`
|
||||
- 引入 `Pest` 测试框架
|
||||
- 新增 `hyperf/helper`,`Hyperf\Utils` 中原有 `不包含命名空间助手函数` 迁移至 `hyperf/helper` 中
|
||||
- 改变 `hyperf/config` 多层级配置文件的加载方式,支持 `.` 语法,如 `config('a.c')`
|
||||
|
||||
## Utils 包变动
|
||||
|
||||
@ -11,4 +12,23 @@
|
||||
对此有俩种方式进行处理
|
||||
|
||||
- 程序中无引入其他包会导致函数冲突,可直接安装 `hyperf/helper` 即可,`helper` 包中提供不包含命名空间的助手函数,与原有 `utils` 中一致
|
||||
- 原有调用到助手函数的地方引入命名空间,可使用 `rector` 进行重构 [重构文档点这里查看🔎](https://github.com/orgs/hyperf/discussions/5635)
|
||||
- 原有调用到助手函数的地方引入命名空间,可使用 `rector` 进行重构 [重构文档点这里查看🔎](https://github.com/orgs/hyperf/discussions/5635)
|
||||
|
||||
## 配置文件加载方式变动
|
||||
|
||||
在 3.0 中,配置是以`配置文件名`作为键值存在, 而在 3.1 中,`hyperf/config` 多层级配置文件的加载方式,是以`相对目录.配置文件名`作为键值存在。
|
||||
|
||||
支持 `.` 语法,如 `config('a.c')`。
|
||||
|
||||
对此需要注意原有项目中以下两种情况的处理
|
||||
|
||||
- 3.0项目中在`config/autoload`中创建了子目录,如`config/autoload/sub/a.php`,原有的`config('a')`需要修改为`config('sub.a')`。
|
||||
- 3.0项目中的配置文件名中包含`.`,如`config/autoload/a.b.php`,会在使用`config('a')`的时候返回以下结构,如果你同时还存在`config/autoload/a.php`配置文件,还将得到合并配置项后的结果。
|
||||
```php
|
||||
return [
|
||||
'a.php中的配置项' => 'a.php中的配置值',
|
||||
'b' => [
|
||||
'a.b.php中的配置项' => 'a.b.php中的配置值',
|
||||
]
|
||||
];
|
||||
```
|
@ -3,6 +3,7 @@
|
||||
- 3.1 版本主要修改了 `PHP` 最低版本為 `8.1`,`Swoole` 最低版本為 `5.0`
|
||||
- 引入 `Pest` 測試框架
|
||||
- 新增 `hyperf/helper`,`Hyperf\Utils` 中原有 `不包含命名空間助手函數` 遷移至 `hyperf/helper` 中
|
||||
- 改變 `hyperf/config` 多層級配置文件的加載方式,支持 `.` 語法,如 `config('a.c')`
|
||||
|
||||
## Utils 包變動
|
||||
|
||||
@ -11,4 +12,23 @@
|
||||
對此有倆種方式進行處理
|
||||
|
||||
- 程序中無引入其他包會導致函數衝突,可直接安裝 `hyperf/helper` 即可,`helper` 包中提供不包含命名空間的助手函數,與原有 `utils` 中一致
|
||||
- 原有調用到助手函數的地方引入命名空間,可使用 `rector` 進行重構 [重構文檔點這裏查看🔎](https://github.com/orgs/hyperf/discussions/5635)
|
||||
- 原有調用到助手函數的地方引入命名空間,可使用 `rector` 進行重構 [重構文檔點這裏查看🔎](https://github.com/orgs/hyperf/discussions/5635)
|
||||
|
||||
## 配置文件加載方式變動
|
||||
|
||||
在 3.0 中,配置是以`配置文件名`作為鍵值存在, 而在 3.1 中,`hyperf/config` 多層級配置文件的加載方式,是以`相對目錄.配置文件名`作為鍵值存在。
|
||||
|
||||
支持 `.` 語法,如 `config('a.c')`。
|
||||
|
||||
對此需要注意原有項目中以下兩種情況的處理
|
||||
|
||||
- 3.0項目中在`config/autoload`中創建了子目錄,如`config/autoload/sub/a.php`,原有的`config('a')`需要修改為`config('sub.a')`。
|
||||
- 3.0項目中的配置文件名中包含`.`,如`config/autoload/a.b.php`,會在使用`config('a')`的時候返回以下結構,如果你同時還存在`config/autoload/a.php`配置文件,還將得到合併配置項後的結果。
|
||||
```php
|
||||
return [
|
||||
'a.php中的配置項' => 'a.php中的配置值',
|
||||
'b' => [
|
||||
'a.b.php中的配置項' => 'a.b.php中的配置值',
|
||||
]
|
||||
];
|
||||
```
|
@ -3,6 +3,7 @@
|
||||
- 3.1 版本主要修改了 `PHP` 最低版本為 `8.1`,`Swoole` 最低版本為 `5.0`
|
||||
- 引入 `Pest` 測試框架
|
||||
- 新增 `hyperf/helper`,`Hyperf\Utils` 中原有 `不包含名稱空間助手函式` 遷移至 `hyperf/helper` 中
|
||||
- 改變 `hyperf/config` 多層級配置檔案的載入方式,支援 `.` 語法,如 `config('a.c')`
|
||||
|
||||
## Utils 包變動
|
||||
|
||||
@ -11,4 +12,23 @@
|
||||
對此有倆種方式進行處理
|
||||
|
||||
- 程式中無引入其他包會導致函式衝突,可直接安裝 `hyperf/helper` 即可,`helper` 包中提供不包含名稱空間的助手函式,與原有 `utils` 中一致
|
||||
- 原有呼叫到助手函式的地方引入名稱空間,可使用 `rector` 進行重構 [重構文件點這裡檢視🔎](https://github.com/orgs/hyperf/discussions/5635)
|
||||
- 原有呼叫到助手函式的地方引入名稱空間,可使用 `rector` 進行重構 [重構文件點這裡檢視🔎](https://github.com/orgs/hyperf/discussions/5635)
|
||||
|
||||
## 配置檔案載入方式變動
|
||||
|
||||
在 3.0 中,配置是以`配置檔名`作為鍵值存在, 而在 3.1 中,`hyperf/config` 多層級配置檔案的載入方式,是以`相對目錄.配置檔名`作為鍵值存在。
|
||||
|
||||
支援 `.` 語法,如 `config('a.c')`。
|
||||
|
||||
對此需要注意原有專案中以下兩種情況的處理
|
||||
|
||||
- 3.0專案中在`config/autoload`中建立了子目錄,如`config/autoload/sub/a.php`,原有的`config('a')`需要修改為`config('sub.a')`。
|
||||
- 3.0專案中的配置檔名中包含`.`,如`config/autoload/a.b.php`,會在使用`config('a')`的時候返回以下結構,如果你同時還存在`config/autoload/a.php`配置檔案,還將得到合併配置項後的結果。
|
||||
```php
|
||||
return [
|
||||
'a.php中的配置項' => 'a.php中的配置值',
|
||||
'b' => [
|
||||
'a.b.php中的配置項' => 'a.b.php中的配置值',
|
||||
]
|
||||
];
|
||||
```
|
Loading…
Reference in New Issue
Block a user