velkuns/artifactsmmo-client

Artifacts MMO 游戏代码的PHP客户端

2.0.0 2024-08-25 16:38 UTC

This package is auto-updated.

Last update: 2024-09-25 16:51:56 UTC


README

Current version Supported PHP version CI Quality Gate Status Coverage

为什么?

此SDK/客户端是调用Artifacts MMO API的包装器。每个客户端方法调用一个端点并返回一个由Artifacts MMO API OpenAPI Spec定义的值对象。

Artifacts MMO API 文档: https://api.artifactsmmo.com/docs/

当POST端点需要BODY时,需要Body*值对象(VO)来调用端点。如果有任何查询参数可用,您也可以将其传递给端点(在此情况下,PHP文档已为具有名称的参数设置)

安装

如果您希望将其安装到项目中,请通过composer安装

composer require velkuns/artifactsmmo-client

使用

使用

<?php

declare(strict_types=1);

namespace Application;

use Eureka\Component\Curl\HttpClient;
use Nyholm\Psr7\Factory\Psr17Factory;
use Psr\Log\NullLogger;
use Velkuns\ArtifactsMMO\Client\Client;
use Velkuns\ArtifactsMMO\Client\MyClient;
use Velkuns\ArtifactsMMO\Config\ArtifactsMMOConfig;
use Velkuns\ArtifactsMMO\Request\RequestBuilder;
use Velkuns\ArtifactsMMO\VO\Body\BodyCrafting;
use Velkuns\ArtifactsMMO\VO\Body\BodyDestination;

require_once(__DIR__ . '/../vendor/autoload.php');

$token = ''; // Your token

//~ Config part
$config = new ArtifactsMMOConfig('api.artifactsmmo.com', 'https', $token);

//~ Client dependencies
$httpClient     = new HttpClient(userAgent: 'artifactsmmo-client-test/1.0');
$requestFactory = new Psr17Factory();
$uriFactory     = new Psr17Factory();
$requestBuilder = new RequestBuilder($requestFactory, $uriFactory, $config);
$logger         = new NullLogger();

//~ Client
$client = new Client($httpClient, $logger, $requestBuilder);


//~ Call endpoint and get Value Object with response data
$status = $client->getStatus(); // Get status (VO\Status);

echo "Server is $status->status\n";
echo "Number of characters online: $status->charactersOnline\n";

//~ Move a character
$myClient = new MyClient($httpClient, $logger, $requestBuilder);
$myClient->actionMove('character_name', new BodyDestination(1, 1));

//~ Crafting an item
$myClient->actionCrafting('character_name', new BodyCrafting('wooden_staff', 1));

贡献

请参阅CONTRIBUTING文件。

安装/更新项目

您可以使用以下命令安装项目

make install

并使用以下命令更新

make update

注意:对于组件,composer.lock文件未提交。

测试 & CI(持续集成)

测试

您可以使用以下命令在您的端运行测试(带有覆盖率)

make tests

您可以使用以下命令在您的端运行测试(带有覆盖率)

make integration

对于更美观的输出(但没有覆盖率),您可以使用以下命令

make testdox # run tests without coverage reports but with prettified output

代码风格

您还可以使用以下命令运行代码风格检查

make phpcs

您还可以使用以下命令运行代码风格修复

make phpcsf

静态分析

要执行代码的静态分析(使用phpstan,默认为lvl 9),可以使用以下命令

make analyze

最低支持版本

make php-min-compatibility

最高支持版本

make php-max-compatibility

CI模拟

最后,“辅助”命令,您可以在提交和推送之前运行的是

make ci  

许可证

本项目采用MIT许可证 - 请参阅LICENSE文件以获取详细信息