logipro/datamaps-php

一个用于在PHP项目中使用Datamaps API的PHP组件。

v1.0.3 2024-03-06 20:30 UTC

This package is auto-updated.

Last update: 2024-09-06 21:51:10 UTC


README

一个用于在PHP项目中使用Datamaps API的PHP组件。

DatamapsClient允许您

  • 通过其ID获取一个特定的地图,
  • 搜索最近创建的地图,
  • 创建一个新的地图。

地图由4个值定义

  • string $mapId是地图的ID。
  • string $createdAt是地图的创建日期和时间,格式为ATOM。
  • [[float, float], [float, float]] $bounds设置地图的界限。
  • Layer[] $layers包含每个层。每个层都有一个string $name和一个Marker数组(存储地理点[float, float] $pointstring $descriptionstring $color)。

查看DatamapsClient工厂以获取用于测试的模拟版本。

用法

在源文件中

DatamapsClient包含3个公共方法

  • get(string $mapId)用于检索ID为mapId的特定地图。返回一个Map
  • search(int $amount)用于检索最后创建的amount个地图。返回一个Map数组。
  • create(Map $map)用于创建和保存一个新的地图。只有boundslayers将被持久化,mapIdcreatedAt将在创建时由Datamaps生成。返回一个Map

在测试文件中

SucceedingDatamapsClientMockFactory允许测试DatamapsClient是否一切顺利。

  • make()创建一个永远不会响应失败的DatamapsClient模拟。
  • getExpectedResponseFromGet(string $mapId)返回模拟版本get($mapId) 方法将返回的地图。
  • getExpectedResponseFromSearch(int $amount)返回模拟版本search($amount) 方法将返回的地图。
  • getExpectedResponseFromCreate(Map $map)返回模拟版本create($map) 方法将返回的地图。

FailingDatamapsClientMockFactory允许测试DatamapsClient是否一切出错。

  • make()创建一个始终响应失败的DatamapsClient模拟。
  • get($mapId)总是导致请求Datamaps时发生错误。找不到mapId为$mapId的地图
  • search($amount)总是导致请求Datamaps时发生错误。无法从空存储库检索数据
  • create($map)总是导致请求Datamaps时发生错误。/bounds: 数组应至少有2个元素,找到1个

安装

composer require logipro/datamaps-php

要为Datamaps PHP做出贡献

要求

  • docker
  • git

单元测试

bin/phpunit

集成测试

bin/phpunit-integration

质量

一些指标

  • phpcs PSR12
  • phpstan level 9
  • 覆盖率 >= 100%
  • 感染率 MSI >= 100%

快速检查

./codecheck

使用以下命令检查覆盖率

bin/phpunit --coverage-html var

并在浏览器中查看'var/index.html'

使用以下命令检查感染

bin/infection

并在浏览器中查看'var/infection.html'