alexandret/evc-bundle

Symfony应用程序中EVC API的集成

安装: 146

依赖项: 0

建议者: 0

安全: 0

星星: 1

关注者: 2

分支: 0

类型:symfony-bundle

1.3.2 2020-05-14 13:21 UTC

This package is auto-updated.

Last update: 2024-09-14 22:19:26 UTC


README

此symfony扩展包实现了使用evc.de API的服务。

安装

请确保全局已安装Composer,具体请参考Composer文档中的安装章节

使用Symfony Flex的应用程序

打开命令行,进入您的symfony项目目录,然后执行

$ composer require alexandret/evc-bundle

打开env(或env.dist)文件,搜索新创建的行以配置变量

###> alexandret/evc-bundle ###
EVC_API = ''
EVC_USERNAME = ''
EVC_PASSWORD = ''
###< alexandret/evc-bundle ###

有关更多解释,请参阅配置部分。

不使用Symfony Flex的应用程序

第1步:下载扩展包

打开命令行,进入您的项目目录,并执行以下命令以下载此扩展包的最新稳定版本

$ composer require alexandret/evc-bundle

第2步:启用扩展包

然后,通过将其添加到项目config/bundles.php文件中注册的扩展包列表中来启用扩展包

// config/bundles.php

return [
    // ...
    Alexandre\EvcBundle\AlexandreEvcBundle::class => ['all' => true],
];

打开您的env文件,并添加必要的配置变量的值

第3步:创建一个alexandre_evc.yaml文件

在config/packages子目录下创建一个alexandre_evc.yaml文件。然后复制并粘贴以下行

#config/packages/alexandre_evc.yaml
alexandre_evc:
  api_id: '%env(EVC_API)%'
  username: '%env(EVC_USERNAME)%'
  password: '%env(EVC_PASSWORD)%'

不要用密码替换env。您必须按照以下段落中的说明配置您的.env文件。

配置

EvcBundle需要数据信息。您应在您的env文件中填写这些信息。

  • EVC_API:由EVC支持提供的API密钥
  • EVC_USERNAME:您的evc.de账户号码
  • EVC_PASSWORD:您的API密码。这不是您的evc.de账户密码。这是一个从EVC办公室获得的单独密码。

以下是一个示例

###> alexandret/evc-bundle ###
EVC_API = sample_key
EVC_USERNAME = my_name
EVC_PASSWORD = my_password
###< alexandret/evc-bundle ###

如何模拟对API的请求?

您想使用模拟的客户测试您的应用程序,并避免向真实的evc.de API发送数据?默认情况下,我们的扩展包创建了一个使用内嵌Unirest/Request的请求者服务。在您的config/package/dev存储库中,在service.yaml文件末尾添加新行。(如果没有文件,请毫不犹豫地创建一个新的service.yaml文件。如果您使用flex安装此扩展包,这已经完成了!:)

# config/packages/dev/service.yaml
# config/packages/test/service.yaml
services:
    alexandre_evc_request:    
        class: Alexandre\EvcBundle\Service\EmulationService
        arguments:
            $api: '%env(EVC_API)%'
            $username: '%env(EVC_USERNAME)%'
            $password: '%env(EVC_PASSWORD)%'

开发环境将使用EmulationService而不是调用RequesterService

有四个声明的客户。

  • 11111 是不存在客户的标识符。当您想使用不存在的客户测试应用程序时使用它。
  • 22222 客户存在,但他不是您的经销商的个人用户。当您想使用非个人客户测试应用程序时使用它。
  • 33333 客户存在,并且他是一位有42个信用点的个人用户。
  • 44444 也是一个个人客户。他也有42个信用点。
  • 55555 每次您调用55555客户时,模拟服务都会抛出NetworkException来测试您的应用程序,就像evc API不可达一样。
  • 66666 每次您调用66666客户时,模拟服务都会抛出CredentialException来测试您的应用程序,当您的配置错误时。
  • 77777 每次您调用77777客户时,模拟服务都会抛出LogicException。我们认为这没有用,但如果您想测试。如果在API更改或响应被截断时,可能会抛出一个逻辑异常。

异常

  • NetworkException:如果evc.de不可达,则会抛出网络异常。
  • CredentialException:当您对evc.de凭据进行错误配置时,会抛出凭据异常。
  • LogicException:当evc.de返回非预期响应时抛出逻辑异常。这可能是由于此包存在错误,或者API发生了变更。
  • EvcException:前三个异常继承自EvcException