This commit is contained in:
李铭昕 2021-03-15 09:48:32 +08:00 committed by GitHub
parent a4dd9c37aa
commit be84b0a892
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 76 additions and 16 deletions

View File

@ -7,7 +7,7 @@ jobs:
name: Test for Phar
runs-on: 'ubuntu-latest'
env:
SW_VERSION: '4.6.3'
SW_VERSION: '4.6.4'
steps:
- name: Checkout
uses: actions/checkout@v2

View File

@ -11,7 +11,7 @@ jobs:
os: [ ubuntu-latest ]
php-version: [ '7.3', '7.4' ]
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
env:
SW_VERSION: ${{ matrix.sw-version }}

View File

@ -1,21 +1,20 @@
# v2.1.10 - TBD
# v2.1.11 - TBD
# v2.1.10 - 2021-03-15
## Fixed
- [#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`.
- [#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
- [#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`.
## 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
## Fixed

View File

@ -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
## 修复

View File

@ -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` 的入參即可。

View File

@ -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
## 修復

View File

@ -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(
$attributes['address_line_one'],
@ -377,7 +376,7 @@ use Hyperf\Utils\Arr;
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']));
}

View File

@ -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` 的入參即可。

View File

@ -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
## 修復

View File

@ -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(
$attributes['address_line_one'],
@ -377,7 +376,7 @@ use Hyperf\Utils\Arr;
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']));
}