plimpton/guzzle-bundle
Composer 安装命令:
composer require plimpton/guzzle-bundle
包简介
Integrates Guzzle into Symfony2, comes with WSSE Plugin for RESTful Interfaces
README 文档
README
Requirements | Installation | Usage | Events | Features | Suggestions | Contributing | License
Symfony GuzzleBundle
This bundle integrates Guzzle 6.x into Symfony. Guzzle is a PHP framework for building RESTful web service clients. It comes with a WSSE Auth Plugin that can be used optionally.
GuzzleBundle follows semantic versioning. Read more on semver.org.
Requirements
- PHP 5.6 or above
- Symfony 2.7 or above
- Guzzle PHP Framework (included by composer)
- WSSE Auth Plugin (included by composer)
Installation
To install this bundle, run the command below and you will get the latest version by Packagist.
composer require plimpton/guzzle-bundle
To use the newest (maybe unstable) version please add following into your composer.json:
{
"require": {
"plimpton/guzzle-bundle": "dev-master"
}
}
Usage
Load bundle in AppKernel.php:
new plimpton\Bundle\GuzzleBundle\GuzzleBundle()
Configuration in config.yml:
guzzle: # (de)activate logging/profiler; default: %kernel.debug% logging: true clients: api_payment: base_url: "http://api.domain.tld" # custom headers (@deprecated, will be removed in v6; new: "headers" in options (see below)) headers: Accept: "application/json" # guzzle client options (full description here: https://guzzle.readthedocs.org/en/latest/request-options.html) # NOTE: "headers" option is not accepted here as it is provided as described above. options: auth: - acme # login - pa55w0rd # password headers: Accept: "application/json" timeout: 30 # plugin settings plugin: wsse: username: "acme" password: "pa55w0rd" created_at: "-10 seconds" # optional api_crm: base_url: "http://api.crm.tld" headers: Accept: "application/json" ...
All these settings are optional. If WSSE username is defined the WSSE plugin will be injected automatically.
Using services in controller (guzzle.client.api_crm represents the client name of the yaml config and is an instance of GuzzleHttp\Client):
/** @var \GuzzleHttp\Client $client */ $client = $this->get('guzzle.client.api_crm'); $response = $client->get('/users');
Events
Handling events. Events are dispatched before and after the request to the remote host.
Listening To Events
<service id="listenerID" class="Your\ListenerClass\That\Implements\GuzzleEventListenerInterface"> <tag name="kernel.event_listener" event="guzzle_bundle.pre_transaction" method="onPreTransaction" service="servicename"/> </service>
Your event Listener, or Subscriber MUST implement GuzzleBundle\Events\GuzzleEventListenerInterface.
Events dispatched are guzzle_bundle.pre_transaction, guzzle_bundle.post_transaction.
The service on the tag, is so that if you have multiple REST endpoints you can define which service a particular listener is interested in.
Features
Symfony Debug Toolbar / Profiler
Suggestions
Adding aliases: If you want to use different names for provided services you can use aliases. This is a good idea if you don't want have any dependency to guzzle in your service name.
services: crm.client: alias: guzzle.client.api_crm
Contributing
👍 If you would like to contribute to the project, please read the CONTRIBUTING.md.
🎉 Thanks to the contributors who participated in this project.
License
This bundle is released under the MIT license
plimpton/guzzle-bundle 适用场景与选型建议
plimpton/guzzle-bundle 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 13 次下载、GitHub Stars 达 0, 最近一次更新时间为 2017 年 07 月 14 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「symfony」 「curl」 「rest」 「http client」 「client」 「web service」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 plimpton/guzzle-bundle 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 plimpton/guzzle-bundle 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 plimpton/guzzle-bundle 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
cURL and cURL based Soap-Client for PHP
Simple cURL wrapper
The bundle for easy using json-rpc api on your project
A PSR-7 compatible library for making CRUD API endpoints
Api bundle
A fluent PHP CURL wrapper
统计信息
- 总下载量: 13
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 10
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2017-07-14
