huaweicloud-sdk-php-obs
huaweicloud-sdk-php-obs copied to clipboard
建议将 Guzzle Http Client 作为一个选项暴露出来
trafficstars
ObsClient.php 里,又是 chooseHandler, 又是 createHttpClient 但实际上这两个方法,调用方并不能参与进去做一些深度的定制,建议将 Guzzlle Client 实例作为一个可选参数传入。
主要是以下几个原因:
- 可以深度定制 guzzle,比如为 Guzzle 指定了某些中间件用于记录请求,或者请求速度分析等等。
- 可以替换 guzzle 底层的实例,比如 handler 切换到 Hyperf 框架的 Hyperf\Guzzle\CoroutineHandler 或者适配 Amphp 的 \AmpGuzzle\HttpClientHandler,这样可以让 ObsClient 在这类协程客户端中利用上协程的并发无阻塞特性。
- 某些情况出于资源占用考虑,会全局共用一个 guzzle 实例,暴露出来则可以实现这一点。
改动不大,但意义深远。
另外提一点建议,sdk 的实现太过复杂了,感觉深受 Java 思想屠毒。
我想知道这样的大师是怎么混进“x为”的,我也想去!!!