logipro / datamaps-php
一个用于在PHP项目中使用Datamaps API的PHP组件。
v1.0.3
2024-03-06 20:30 UTC
Requires
- php: >=8.1
- symfony/http-client: ^7.0
Requires (Dev)
- infection/extension-installer: 0.1.2
- infection/infection: ^0.27
- phpstan/phpdoc-parser: ^1.20
- phpstan/phpstan: 1.10.15
- phpunit/phpunit: ^10
- squizlabs/php_codesniffer: 3.*
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] $point
、string $description
和string $color
)。
查看DatamapsClient工厂以获取用于测试的模拟版本。
用法
在源文件中
DatamapsClient包含3个公共方法
get(string $mapId)
用于检索ID为mapId
的特定地图。返回一个Map
。search(int $amount)
用于检索最后创建的amount
个地图。返回一个Map
数组。create(Map $map)
用于创建和保存一个新的地图。只有bounds
和layers
将被持久化,mapId
和createdAt
将在创建时由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'