不兼容修改-002

最后更新于:2022-04-02 07:08:17

## 不兼容修改-002 > 本次修改主要为了统一命名风格 当你使用 `composer update` 命令升级后出现以下异常时,请根据以下提示修复 ## Mix\Sync\Invoke 类找不到 启动时抛出以下异常: ``` [error] 2020-01-15 12:13:27.743 <89836> Class 'Mix\Sync\Invoke\Pool\ConnectionPool' not found [code] 0 [type] Error [file] in /Users/liujian/Downloads/mix/vendor/mix/bean/src/BeanDefinition.php on line 156 ``` 用编辑器替换全部字符 `Sync\Invoke` 为 `SyncInvoke` 。 ## Connection::invoke 调用同步执行器时出错 当 invoke 时出现一下异常时: ``` [error] 2020-01-15 12:27:04.584 <89876> Call to undefined method Mix\SyncInvoke\Connection::invoke() [code] 0 [type] Error [file] in /Users/liujian/Downloads/mix/app/Http/Controllers/CurlController.php on line 43 ``` 在 `manifest.php` 文件中增加以下依赖配置: ~~~ // SyncInvoke客户端 [ // 类路径 'class' => \Mix\SyncInvoke\Client::class, // 属性注入 'properties' => [ // 连接池 'pool' => ['ref' => 'syncInvokePool'], ], ], ~~~ 调用同步代码修改为以下调用方式: ``` /** @var \Mix\SyncInvoke\Client $client */ $client = context()->get(\Mix\SyncInvoke\Client::class); $data = $client->invoke(function () { // 同步代码 ... }); ``` ## Redis\Subscribe 异常 当使用 WebSocket 订阅时出现一下异常时: ``` [error] 2020-01-15 12:21:19.843 <89859> Too few arguments to function Mix\Redis\Subscribe\Subscriber::__construct(), 0 passed in /Users/liujian/Downloads/mix/vendor/mix/bean/src/BeanDefinition.php on line 156 and at least 2 expected [code] 0 [type] ArgumentCountError [file] in /Users/liujian/Downloads/mix/vendor/mix/redis-subscribe/src/Subscriber.php on line 58 ``` 修改 `manifest.php` 文件中的 Redis 订阅器配置如下: ``` // Redis订阅器 [ // 类路径 'class' => \Mix\Redis\Subscribe\Subscriber::class, // 构造函数注入 'constructorArgs' => [ // host getenv('REDIS_HOST'), // port getenv('REDIS_PORT'), // password getenv('REDIS_PASSWORD'), // timeout 5, ], ], ```
';