mirror of
https://gitee.com/hyperf/hyperf.git
synced 2024-12-02 03:37:44 +08:00
v2.1.10 (#3366)
This commit is contained in:
parent
a4dd9c37aa
commit
be84b0a892
2
.github/workflows/test-components.yml
vendored
2
.github/workflows/test-components.yml
vendored
@ -7,7 +7,7 @@ jobs:
|
|||||||
name: Test for Phar
|
name: Test for Phar
|
||||||
runs-on: 'ubuntu-latest'
|
runs-on: 'ubuntu-latest'
|
||||||
env:
|
env:
|
||||||
SW_VERSION: '4.6.3'
|
SW_VERSION: '4.6.4'
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
|
2
.github/workflows/test.yml
vendored
2
.github/workflows/test.yml
vendored
@ -11,7 +11,7 @@ jobs:
|
|||||||
os: [ ubuntu-latest ]
|
os: [ ubuntu-latest ]
|
||||||
php-version: [ '7.3', '7.4' ]
|
php-version: [ '7.3', '7.4' ]
|
||||||
mysql-version: [ '5.7', '8.0' ]
|
mysql-version: [ '5.7', '8.0' ]
|
||||||
sw-version: [ '4.5.11', '4.6.3' ]
|
sw-version: [ '4.5.11', '4.6.4' ]
|
||||||
max-parallel: 8
|
max-parallel: 8
|
||||||
env:
|
env:
|
||||||
SW_VERSION: ${{ matrix.sw-version }}
|
SW_VERSION: ${{ matrix.sw-version }}
|
||||||
|
@ -1,21 +1,20 @@
|
|||||||
# v2.1.10 - TBD
|
# v2.1.11 - TBD
|
||||||
|
|
||||||
|
# v2.1.10 - 2021-03-15
|
||||||
|
|
||||||
## Fixed
|
## Fixed
|
||||||
|
|
||||||
- [#3348](https://github.com/hyperf/hyperf/pull/3348) Fixed bug that `Arr::forget` failed when the integer key does not exists.
|
- [#3348](https://github.com/hyperf/hyperf/pull/3348) Fixed bug that `Arr::forget` failed when the integer key does not exists.
|
||||||
- [#3351](https://github.com/hyperf/hyperf/pull/3351) Fixed bug that `FormRequest` could't get the changed data from `Context`.
|
- [#3351](https://github.com/hyperf/hyperf/pull/3351) Fixed bug that `FormRequest` could't get the changed data from `Context`.
|
||||||
- [#3356](https://github.com/hyperf/hyperf/pull/3356) Fixed bug that could't get the valid `uri` when using `Hyperf\Testing\Client`.
|
- [#3356](https://github.com/hyperf/hyperf/pull/3356) Fixed bug that could't get the valid `uri` when using `Hyperf\Testing\Client`.
|
||||||
- [#3363](https://github.com/hyperf/hyperf/pull/3363) Fixed `constants` which defined in `bin/hyperf.php` does not works.
|
- [#3363](https://github.com/hyperf/hyperf/pull/3363) Fixed bug that `constants` which defined in `bin/hyperf.php` does not works for `server:start`.
|
||||||
|
- [#3365](https://github.com/hyperf/hyperf/pull/3365) Fixed bug that `pid_file` will be created accidently when you don't configure `pid_file` in coroutine style server.
|
||||||
|
|
||||||
## Optimized
|
## Optimized
|
||||||
|
|
||||||
- [#3364](https://github.com/hyperf/hyperf/pull/3364) Optimized `phar:build` that you can run phar without `php`, such as `./composer.phar` instead of `php composer.phar`.
|
- [#3364](https://github.com/hyperf/hyperf/pull/3364) Optimized `phar:build` that you can run phar without `php`, such as `./composer.phar` instead of `php composer.phar`.
|
||||||
- [#3367](https://github.com/hyperf/hyperf/pull/3367) Optimized code for guessing the return type for custom caster when using `gen:model`.
|
- [#3367](https://github.com/hyperf/hyperf/pull/3367) Optimized code for guessing the return type for custom caster when using `gen:model`.
|
||||||
|
|
||||||
## Changed
|
|
||||||
|
|
||||||
- [#3365](https://github.com/hyperf/hyperf/pull/3365) Shouldn't write pid to the file when `pid_file` is not configured for coroutine style server.
|
|
||||||
|
|
||||||
# v2.1.9 - 2021-03-08
|
# v2.1.9 - 2021-03-08
|
||||||
|
|
||||||
## Fixed
|
## Fixed
|
||||||
|
@ -1,5 +1,20 @@
|
|||||||
# 版本更新记录
|
# 版本更新记录
|
||||||
|
|
||||||
|
# v2.1.10 - 2021-03-15
|
||||||
|
|
||||||
|
## 修复
|
||||||
|
|
||||||
|
- [#3348](https://github.com/hyperf/hyperf/pull/3348) 修复当使用 `Arr::forget` 方法在 `key` 为 `integer` 且不存在时,执行报错的问题。
|
||||||
|
- [#3351](https://github.com/hyperf/hyperf/pull/3351) 修复 `hyperf/validation` 组件中,`FormRequest` 无法从协程上下文中获取到修改后的 `ServerRequest`,从而导致验证器验证失败的问题。
|
||||||
|
- [#3356](https://github.com/hyperf/hyperf/pull/3356) 修复 `hyperf/testing` 组件中,客户端 `Hyperf\Testing\Client` 无法模拟构造正常的 `UriInterface` 的问题。
|
||||||
|
- [#3363](https://github.com/hyperf/hyperf/pull/3363) 修复在入口文件 `bin/hyperf.php` 中自定义的常量,无法在命令 `server:watch` 中使用的问题。
|
||||||
|
- [#3365](https://github.com/hyperf/hyperf/pull/3365) 修复当使用协程风格服务时,如果用户没有配置 `pid_file`,仍然会意外生成 `runtime/hyperf.pid` 文件的问题。
|
||||||
|
|
||||||
|
## 优化
|
||||||
|
|
||||||
|
- [#3364](https://github.com/hyperf/hyperf/pull/3364) 优化命令 `phar:build`,你可以在不使用 `php` 脚本的情况下执行 `phar` 文件,就像使用命令 `./composer.phar` 而非 `php composer.phar`。
|
||||||
|
- [#3367](https://github.com/hyperf/hyperf/pull/3367) 优化使用 `gen:model` 生成模型字段的类型注释时,尽量读取自定义转换器转换后的对量类型。
|
||||||
|
|
||||||
# v2.1.9 - 2021-03-08
|
# v2.1.9 - 2021-03-08
|
||||||
|
|
||||||
## 修复
|
## 修复
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# 異步隊列
|
# 異步隊列
|
||||||
|
|
||||||
異步隊列區別於 `RabbitMQ` `Kafka` 等消息隊列,它只提供一種 `異步處理` 和 `異步延時處理` 的能力,並 **不能** 嚴格地保證消息的持久化和 **不支持** ACK 應答機制。
|
異步隊列區別於 `RabbitMQ` `Kafka` 等消息隊列,它只提供一種 `異步處理` 和 `異步延時處理` 的能力,並 **不能** 嚴格地保證消息的持久化和 **不支持** 完備的 ACK 應答機制。
|
||||||
|
|
||||||
## 安裝
|
## 安裝
|
||||||
|
|
||||||
@ -517,3 +517,12 @@ return [
|
|||||||
];
|
];
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
## 異步驅動之間的區別
|
||||||
|
|
||||||
|
- Hyperf\AsyncQueue\Driver\RedisDriver::class
|
||||||
|
|
||||||
|
此異步驅動會將整個 `JOB` 進行序列化,當投遞即時隊列後,會 `lpush` 到 `list` 結構中,投遞延時隊列,會 `zadd` 到 `zset` 結構中。
|
||||||
|
所以,如果 `Job` 的參數完全一致的情況,在延時隊列中就會出現後投遞的消息 **覆蓋** 前面投遞的消息的問題。
|
||||||
|
如果不想出現延時消息覆蓋的情況,只需要在 `Job` 裏增加一個唯一的 `uniqid`,或者在使用 `註解` 的方法上增加一個 `uniqid` 的入參即可。
|
||||||
|
@ -1,5 +1,20 @@
|
|||||||
# 版本更新記錄
|
# 版本更新記錄
|
||||||
|
|
||||||
|
# v2.1.10 - 2021-03-15
|
||||||
|
|
||||||
|
## 修復
|
||||||
|
|
||||||
|
- [#3348](https://github.com/hyperf/hyperf/pull/3348) 修復當使用 `Arr::forget` 方法在 `key` 為 `integer` 且不存在時,執行報錯的問題。
|
||||||
|
- [#3351](https://github.com/hyperf/hyperf/pull/3351) 修復 `hyperf/validation` 組件中,`FormRequest` 無法從協程上下文中獲取到修改後的 `ServerRequest`,從而導致驗證器驗證失敗的問題。
|
||||||
|
- [#3356](https://github.com/hyperf/hyperf/pull/3356) 修復 `hyperf/testing` 組件中,客户端 `Hyperf\Testing\Client` 無法模擬構造正常的 `UriInterface` 的問題。
|
||||||
|
- [#3363](https://github.com/hyperf/hyperf/pull/3363) 修復在入口文件 `bin/hyperf.php` 中自定義的常量,無法在命令 `server:watch` 中使用的問題。
|
||||||
|
- [#3365](https://github.com/hyperf/hyperf/pull/3365) 修復當使用協程風格服務時,如果用户沒有配置 `pid_file`,仍然會意外生成 `runtime/hyperf.pid` 文件的問題。
|
||||||
|
|
||||||
|
## 優化
|
||||||
|
|
||||||
|
- [#3364](https://github.com/hyperf/hyperf/pull/3364) 優化命令 `phar:build`,你可以在不使用 `php` 腳本的情況下執行 `phar` 文件,就像使用命令 `./composer.phar` 而非 `php composer.phar`。
|
||||||
|
- [#3367](https://github.com/hyperf/hyperf/pull/3367) 優化使用 `gen:model` 生成模型字段的類型註釋時,儘量讀取自定義轉換器轉換後的對量類型。
|
||||||
|
|
||||||
# v2.1.9 - 2021-03-08
|
# v2.1.9 - 2021-03-08
|
||||||
|
|
||||||
## 修復
|
## 修復
|
||||||
|
@ -267,9 +267,8 @@ class AddressCaster implements CastsAttributes
|
|||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* 將取出的數據進行轉換
|
* 將取出的數據進行轉換
|
||||||
* @return \App\Address
|
|
||||||
*/
|
*/
|
||||||
public function get($model, $key, $value, $attributes)
|
public function get($model, $key, $value, $attributes): Address
|
||||||
{
|
{
|
||||||
return new Address(
|
return new Address(
|
||||||
$attributes['address_line_one'],
|
$attributes['address_line_one'],
|
||||||
@ -377,7 +376,7 @@ use Hyperf\Utils\Arr;
|
|||||||
|
|
||||||
class UserInfoCaster implements CastsAttributes
|
class UserInfoCaster implements CastsAttributes
|
||||||
{
|
{
|
||||||
public function get($model, string $key, $value, array $attributes)
|
public function get($model, string $key, $value, array $attributes): UserInfo
|
||||||
{
|
{
|
||||||
return new UserInfo($model, Arr::only($attributes, ['name', 'gender']));
|
return new UserInfo($model, Arr::only($attributes, ['name', 'gender']));
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# 非同步佇列
|
# 非同步佇列
|
||||||
|
|
||||||
非同步佇列區別於 `RabbitMQ` `Kafka` 等訊息佇列,它只提供一種 `非同步處理` 和 `非同步延時處理` 的能力,並 **不能** 嚴格地保證訊息的持久化和 **不支援** ACK 應答機制。
|
非同步佇列區別於 `RabbitMQ` `Kafka` 等訊息佇列,它只提供一種 `非同步處理` 和 `非同步延時處理` 的能力,並 **不能** 嚴格地保證訊息的持久化和 **不支援** 完備的 ACK 應答機制。
|
||||||
|
|
||||||
## 安裝
|
## 安裝
|
||||||
|
|
||||||
@ -517,3 +517,12 @@ return [
|
|||||||
];
|
];
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
## 非同步驅動之間的區別
|
||||||
|
|
||||||
|
- Hyperf\AsyncQueue\Driver\RedisDriver::class
|
||||||
|
|
||||||
|
此非同步驅動會將整個 `JOB` 進行序列化,當投遞即時佇列後,會 `lpush` 到 `list` 結構中,投遞延時佇列,會 `zadd` 到 `zset` 結構中。
|
||||||
|
所以,如果 `Job` 的引數完全一致的情況,在延時佇列中就會出現後投遞的訊息 **覆蓋** 前面投遞的訊息的問題。
|
||||||
|
如果不想出現延時訊息覆蓋的情況,只需要在 `Job` 裡增加一個唯一的 `uniqid`,或者在使用 `註解` 的方法上增加一個 `uniqid` 的入參即可。
|
||||||
|
@ -1,5 +1,20 @@
|
|||||||
# 版本更新記錄
|
# 版本更新記錄
|
||||||
|
|
||||||
|
# v2.1.10 - 2021-03-15
|
||||||
|
|
||||||
|
## 修復
|
||||||
|
|
||||||
|
- [#3348](https://github.com/hyperf/hyperf/pull/3348) 修復當使用 `Arr::forget` 方法在 `key` 為 `integer` 且不存在時,執行報錯的問題。
|
||||||
|
- [#3351](https://github.com/hyperf/hyperf/pull/3351) 修復 `hyperf/validation` 元件中,`FormRequest` 無法從協程上下文中獲取到修改後的 `ServerRequest`,從而導致驗證器驗證失敗的問題。
|
||||||
|
- [#3356](https://github.com/hyperf/hyperf/pull/3356) 修復 `hyperf/testing` 元件中,客戶端 `Hyperf\Testing\Client` 無法模擬構造正常的 `UriInterface` 的問題。
|
||||||
|
- [#3363](https://github.com/hyperf/hyperf/pull/3363) 修復在入口檔案 `bin/hyperf.php` 中自定義的常量,無法在命令 `server:watch` 中使用的問題。
|
||||||
|
- [#3365](https://github.com/hyperf/hyperf/pull/3365) 修復當使用協程風格服務時,如果使用者沒有配置 `pid_file`,仍然會意外生成 `runtime/hyperf.pid` 檔案的問題。
|
||||||
|
|
||||||
|
## 優化
|
||||||
|
|
||||||
|
- [#3364](https://github.com/hyperf/hyperf/pull/3364) 優化命令 `phar:build`,你可以在不使用 `php` 指令碼的情況下執行 `phar` 檔案,就像使用命令 `./composer.phar` 而非 `php composer.phar`。
|
||||||
|
- [#3367](https://github.com/hyperf/hyperf/pull/3367) 優化使用 `gen:model` 生成模型欄位的型別註釋時,儘量讀取自定義轉換器轉換後的對量型別。
|
||||||
|
|
||||||
# v2.1.9 - 2021-03-08
|
# v2.1.9 - 2021-03-08
|
||||||
|
|
||||||
## 修復
|
## 修復
|
||||||
|
@ -267,9 +267,8 @@ class AddressCaster implements CastsAttributes
|
|||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* 將取出的資料進行轉換
|
* 將取出的資料進行轉換
|
||||||
* @return \App\Address
|
|
||||||
*/
|
*/
|
||||||
public function get($model, $key, $value, $attributes)
|
public function get($model, $key, $value, $attributes): Address
|
||||||
{
|
{
|
||||||
return new Address(
|
return new Address(
|
||||||
$attributes['address_line_one'],
|
$attributes['address_line_one'],
|
||||||
@ -377,7 +376,7 @@ use Hyperf\Utils\Arr;
|
|||||||
|
|
||||||
class UserInfoCaster implements CastsAttributes
|
class UserInfoCaster implements CastsAttributes
|
||||||
{
|
{
|
||||||
public function get($model, string $key, $value, array $attributes)
|
public function get($model, string $key, $value, array $attributes): UserInfo
|
||||||
{
|
{
|
||||||
return new UserInfo($model, Arr::only($attributes, ['name', 'gender']));
|
return new UserInfo($model, Arr::only($attributes, ['name', 'gender']));
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user