搜索
首页后端开发php教程如何监控 Guzzle Http 客户端 – PHP 快速提示

Guzzle 是一款流行的 PHP HTTP 客户端,可以轻松发送 HTTP 请求和创建 Web 服务库。最流行的 PHP 框架提供了内部 Http Client 服务,它们只是 Guzzle Http Client 的定制实现:

  • Laravel Http 客户端
  • Symfony Http 客户端
  • Laminas(以前的 Zend Framework)Http 客户端

Guzzle 被广泛使用有两个主要原因:

1) 定制化和灵活性

对于设计模式的爱好者来说,Guzzle 是开放的扩展。意味着您可以通过扩展其核心组件(Http Client、Request、Response、Milddeware 等)轻松地在 Guzzle 中实现新功能。

2)对中间件的支持

Guzzle 中间件系统允许开发人员在发送请求之前与请求进行交互,并在处理响应之前与响应进行交互。它可以启用日志记录、身份验证和错误处理等高级功能。

Guzzle HTTP 客户端简介

在本教程中,我将指导您完成创建自定义 Guzzle Http 客户端的过程,以便轻松监控应用程序针对外部服务发出的每个请求。

我还将向您展示如何将此实现注入到 IoC 容器(或服务容器)中,以使此实现在您的整个应用程序中可用。

我们将介绍基础知识、自定义选项,并提供真实的代码示例。

安装Guzzle

确保您已安装 Guzzle。如果没有,请使用 Composer 安装:

雷雷

基本定制

让我们首先创建一个基本的自定义 Guzzle Http 客户端:

雷雷

在此示例中,我们扩展了 Guzzle Http Client 类并自定义构造函数,以向该客户端发出的所有请求添加自定义标头。

监控 Guzzle Http 请求

Guzzle 提供了运行 Http 请求的快捷方法:

雷雷

所有这些方法都使用了内部的通用请求方法。下面的截图取自Guzzle客户端代码:

How to monitor Guzzle Http Client – PHP Fast tips

您可以重写请求方法来自定义应用程序对外部服务进行的 HTTP 调用的管理。

雷雷

在此示例中,我只是在每个请求的事务时间线中添加一个新项目。现在您可以在监控视图中看到 Guzzle 进行的 API 调用:

How to monitor Guzzle Http Client – PHP Fast tips

如果您是 Inspector 新手,您可以按照本教程了解如何入门:

https://inspector.dev/laravel-real-time-performance-monitoring-using-inspector-part-1/

您还可以在回调中注入Segment参数来与item交互或添加更多信息:

雷雷

使用自定义 Http 客户端

现在,您可以在应用程序中使用自定义客户端。由于扩展不会对标准 Guzzle Http 客户端的行为进行任何更改,因此您可以创建自定义类的实例并照常使用它:

雷雷

将 Guzzle Http Client 绑定到容器中

在此示例中我将使用 Laravel,但基本概念与本文开头提到的最流行的 PHP 框架相同。它们都与服务容器一起使用。

我们为 Guzzle Http Client 类创建一个绑定到容器中的单例。因此,每个请求此类的服务都会收到一个支持实时监控的自定义客户端实例。

雷雷

现在您可以尝试在 Artisan Command 中注入 Guzzle Http Client 类并运行 Http 调用以进行测试:

雷雷

运行命令来验证 Http 调用是否在交易的时间线中可见:

雷雷

督察新人?免费监控您的应用程序

Inspector 是一款专为软件开发人员设计的代码执行监控工具。您无需在云基础设施或服务器中安装任何内容,只需安装 Composer 包即可开始使用。

与其他复杂的一体化平台不同,Inspector 超级简单,并且对 PHP 友好。您可以尝试我们的 Laravel 或 Symfony 包。

如果您正在寻找有效的自动化、深入的见解以及将警报和通知转发到消息传递环境的能力,请免费尝试 Inspector。注册您的帐户。

或在网站上了解更多:https://inspector.dev

How to monitor Guzzle Http Client – PHP Fast tips

以上是如何监控 Guzzle Http 客户端 – PHP 快速提示的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
在Laravel中使用Flash会话数据在Laravel中使用Flash会话数据Mar 12, 2025 pm 05:08 PM

Laravel使用其直观的闪存方法简化了处理临时会话数据。这非常适合在您的应用程序中显示简短的消息,警报或通知。 默认情况下,数据仅针对后续请求: $请求 -

php中的卷曲:如何在REST API中使用PHP卷曲扩展php中的卷曲:如何在REST API中使用PHP卷曲扩展Mar 14, 2025 am 11:42 AM

PHP客户端URL(curl)扩展是开发人员的强大工具,可以与远程服务器和REST API无缝交互。通过利用Libcurl(备受尊敬的多协议文件传输库),PHP curl促进了有效的执行

简化的HTTP响应在Laravel测试中模拟了简化的HTTP响应在Laravel测试中模拟了Mar 12, 2025 pm 05:09 PM

Laravel 提供简洁的 HTTP 响应模拟语法,简化了 HTTP 交互测试。这种方法显着减少了代码冗余,同时使您的测试模拟更直观。 基本实现提供了多种响应类型快捷方式: use Illuminate\Support\Facades\Http; Http::fake([ 'google.com' => 'Hello World', 'github.com' => ['foo' => 'bar'], 'forge.laravel.com' =>

在Codecanyon上的12个最佳PHP聊天脚本在Codecanyon上的12个最佳PHP聊天脚本Mar 13, 2025 pm 12:08 PM

您是否想为客户最紧迫的问题提供实时的即时解决方案? 实时聊天使您可以与客户进行实时对话,并立即解决他们的问题。它允许您为您的自定义提供更快的服务

解释PHP中晚期静态结合的概念。解释PHP中晚期静态结合的概念。Mar 21, 2025 pm 01:33 PM

文章讨论了PHP 5.3中引入的PHP中的晚期静态结合(LSB),从而允许静态方法的运行时分辨率调用以获得更灵活的继承。 LSB的实用应用和潜在的触摸

PHP记录:PHP日志分析的最佳实践PHP记录:PHP日志分析的最佳实践Mar 10, 2025 pm 02:32 PM

PHP日志记录对于监视和调试Web应用程序以及捕获关键事件,错误和运行时行为至关重要。它为系统性能提供了宝贵的见解,有助于识别问题并支持更快的故障排除

Laravel中的HTTP方法验证Laravel中的HTTP方法验证Mar 05, 2025 pm 04:14 PM

Laravel简化了传入请求中的HTTP动词处理,从而简化了应用程序中的多样化操作管理。 方法()和iSmethod()方法有效地识别和验证请求类型。 此功能对于构建至关重要

在Laravel中发现文件下载的存储::下载在Laravel中发现文件下载的存储::下载Mar 06, 2025 am 02:22 AM

Laravel框架的Storage::download方法提供了一个简洁的API,用于安全地处理文件下载,同时管理文件存储的抽象。 以下是一个在示例控制器中使用Storage::download()的例子:

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热工具

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。