bestdefense-io/bd-sdk-php

BestDefense.io - PHP SDK

dev-master 2024-09-15 22:43 UTC

This package is auto-updated.

Last update: 2024-09-15 22:53:30 UTC


README

欢迎来到 PHP SDK 包!此 SDK 允许您轻松地在 Laravel 或 Symfony 应用程序中与 BestDefense.io 服务 API 交互。它提供无缝集成和自动装配,需要最少的设置,以便您专注于构建您的应用程序。

目录

安装

您可以通过 Composer 安装此包。它托管在 Packagist 上,可以通过运行以下命令将其包含到项目中:

composer require bestdefense-io/bd-sdk-php

配置

Laravel

  1. 发布配置文件

    安装包后,使用 Artisan 发布配置文件

    php artisan vendor:publish --provider="BestdefenseIo\BdSdkPhp\Providers\ApiServiceProvider" --tag="config"

    此命令将发布一个 bestdefense_sdk.php 配置文件到您的应用程序的 config 目录。

  2. 设置环境变量

    将您的 API 凭证添加到您的 .env 文件中

    BESTDEFENSE_API_TOKEN=your-api-token
    BESTDEFENSE_ACCOUNT_ID=your-account-id

    或者,您可以直接在 config/bestdefense_sdk.php 文件中设置这些值。

  3. 缓存配置(可选)

    如果您缓存了配置,请记住在更改后刷新它

    php artisan config:cache

Symfony

  1. 注册包

    将包添加到您的 config/bundles.php 文件中

    return [
        // ...
        BestdefenseIo\BdSdkPhp\BdSDKBundle::class => ['all' => true],
    ];
  2. 配置环境变量

    将您的 API 凭证添加到您的 .env 文件中

    BESTDEFENSE_API_TOKEN=your-api-token
    BESTDEFENSE_ACCOUNT_ID=your-account-id
  3. 导入服务配置

    确保通过在您的 config/services.yaml 中导入它来加载包的服务配置

    # config/services.yaml
    imports:
        - { resource: '@BdSDKBundle/Resources/config/services.yaml' }

用法

安装和配置完成后,您可以在应用程序中使用 SDK。

Laravel 示例

<?php

namespace App\Http\Controllers;

use BestdefenseIo\BdSdkPhp\ApiService;

class YourController extends Controller
{
    protected $apiService;

    public function __construct(ApiService $apiService)
    {
        $this->apiService = $apiService;
    }

    public function index()
    {
        $reports = $this->apiService->getRunningReports();

        // Process the data as needed
        return view('your_view', compact('reports'));
    }
}

Symfony 示例

<?php

namespace App\Controller;

use BestdefenseIo\BdSdkPhp\ApiService;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;

class YourController extends AbstractController
{
    public function index(ApiService $apiService): Response
    {
        $reports = $apiService->getRunningReports();

        // Process the data as needed
        return $this->render('your_view.html.twig', [
            'reports' => $reports,
        ]);
    }
}

方法

以下是 ApiService 类中可用的一些方法。用您 SDK 提供的实际方法替换这些方法。

  • getData():检索与您的帐户关联的数据。
  • createResource(array $parameters):创建一个新的资源。
  • updateResource(string $id, array $parameters):更新现有的资源。
  • deleteResource(string $id):删除一个资源。

示例用法

// Retrieve data
$data = $yourService->getData();

// Create a new resource
$newResource = $yourService->createResource([
    'name' => 'honeypot',
    'type' => 'medium', #small, medium, large
    'region' => 'us-east-2',
    'meta' => [
        'term' => '1 year',
        'config' => [ ... ]
    ],   
]);

// Update a resource
$updatedResource = $yourService->updateResource('resource-id', [
    'name' => 'Some New Updated Name',
]);

// Delete a resource
$yourService->deleteResource('resource-id');

贡献

欢迎贡献!请按照以下步骤操作

  1. 在 GitHub 上叉取此存储库。
  2. 为您的功能或错误修复创建一个新分支。
  3. 为您的更改编写测试。
  4. 提交一个带有您更改的明确描述的拉取请求。

请在提交拉取请求之前确保所有测试都通过。

许可

此包是开源软件,根据 MIT 许可 许可。

如果您遇到任何问题或有问题,请随时在 GitHub 上打开一个问题。

编码愉快!🚀