gammadia / totem-php-wrapper
Totem 的 PHP 包装器
1.0.1
2022-04-13 10:55 UTC
Requires
- php: ^7.2 || >=8.0.2
- gammadia/jms-serializer-1.x: ^1.14
- guzzlehttp/guzzle: ^7.0
- symfony/yaml: ^4.0 || ^5.0 || ^6.0
Requires (Dev)
- mockery/mockery: ^1.3.4
- overtrue/phplint: ^2.4 || ^3.0 || ^4.0
- phpstan/phpstan: ^0.12
- phpunit/phpunit: ^8.5
README
文件结构
- src/Entity: 包含与 Totem 通信的 DTO(数据传输对象)(例如:Entity/Person 代表向 Totem 发送创建用户的 POST 请求)
- src/Exception: 包含 ApiException 类和一些特定错误(401、409 等)的包装器
- src/Handler: 用于 DTO 的序列化
- src/HttpClient: Guzzle Http 客户端的抽象层(+ 中间件)
- src/Resources: 序列化器的配置文件
- src/Security: 认证的 安全层(由 HttpClient 使用)
- src/Serializer: 包含序列化构建器
- src/Service: 包含包装 API(Totem)不同调用的服务(例如:
$servicePerson->createPerson($person);
) - Client: 基类,声明不同的服务(目前是 person)
- ClientBuilder: 客户端的构建器
用法
对于每个要包装/创建的调用,我们必须实现一个方法并将其放置在正确的服务中
- 如果调用与现有服务(如 person)相关,则必须将其放置在此服务中。
- 如果调用与新的“领域”如“行业”相关,则应在 Client\Totem\Service 命名空间中创建一个新的服务“行业”,并在其中包含表示调用的方法。
对于服务中的所有新方法或新服务,必须在 /tests 目录中编写相应的测试。
测试
要执行测试,必须从 Tipee 根目录执行以下操作:$ cd Client/Totem
,然后执行测试 $ vendors/bin/phpunit