psr18-adapter / stripe-php
1.0.0
2020-08-08 09:30 UTC
Requires
- php: >=7.1
- psr/http-client: ^1.0
- psr/http-factory: ^1.0
- stripe/stripe-php: >=v2.1.3
Requires (Dev)
- nyholm/psr7: ^1.3
- php-http/mock-client: ^1.4
- phpunit/phpunit: >=5.7
This package is auto-updated.
Last update: 2024-08-29 05:43:23 UTC
README
安装
通过 Composer
composer require psr18-adapter/stripe-php
用法
stripe-php
库使用单例来设置 HTTP 客户端,因此在开始调用 Stripe 之前,您必须在此处调用它,如下所示
\Stripe\ApiRequestor::setHttpClient( new \Psr18Adapter\Stripe\StripePsr18Client($psr18Client, $psr7UriFactory, $psr7RequestFactory) );
如何为依赖注入容器设置
如ApiRequestor之类的单例实际上不能配置为symfony/dependency-injection
之类的依赖注入容器,而不需要额外的层。这就是为什么我也在这个包中提供了这样的层,以防您也需要编写这样的层,但又不想这么做。
如果使用 YAML 和 symfony/dependency-injection
services: Stripe\StripeClient: factory: ['Psr18Adapter\Stripe\StripeClientAccessor', 'access'] arguments: - !service class: Stripe\StripeClient arguments: $config: api_key: '%stripe_secret_key%' - !service class: Psr18Adapter\Stripe\StripePsr18Client autowire: true
这应该是 Stripe\StripeClient
服务定义的替代。
这种方法的优点是确保在检索 \Stripe\StripeClient
服务之前已经设置了单例中的 HTTP 客户端。这意味着您可以确信每次从容器中获取 StripeClient 时,它已经配置了您的 PSR-18 HTTP 客户端。
许可
MIT 许可。请参阅许可文件以获取更多信息。