kylewlawrence/gridpane-laravel

Laravel 对 kylewlawrence/gridpane-api-client-php 包的包装

v1.1.13 2023-01-23 20:31 UTC

This package is auto-updated.

Last update: 2024-09-15 18:37:00 UTC


README

此包提供了与 GridPane API 的集成。它支持创建服务器、检索和更新站点、删除域名等。

该包简单提供了一个 GridPane 门面,作为对 kylewlawrence/gridpane-api-client-php 包的包装。

注意:目前仅支持基于 bearer token 的认证。

安装

您可以通过 Composer 使用以下命令安装此包

composer require kylewlawrence/gridpane-api-client-php

如果您想使用门面,也必须安装它。

// config/app.php
'aliases' => [
    ..
    'GridPane' => KyleWLawrence\GridPane\Facades\GridPane::class,
];

配置

要发布配置文件到 app/config/gridpane-laravel.php,请运行

php artisan vendor:publish --provider="KyleWLawrence\GridPane\Providers\GridPaneServiceProvider"

使用 环境变量 设置您的配置,无论是在您的 .env 文件中还是在您的服务器控制面板上

  • GP_TOKEN

API 访问令牌。您可以在以下位置创建一个:https://my.gridpane.com/settings

  • GP_DRIVER (可选)

将其设置为 nulllog 以防止直接从您的环境中调用 GridPane API。

贡献

如果您对 SDK(GridPaneService 类)有任何问题/问题/请求,请前往 GridPane PHP SDK 仓库 进行请求。Laravel 包装器的 Pull Requests 总是欢迎。我很快就会赶上并制定贡献指南。在此期间,只需打开一个问题或创建一个 pull request。

用法

门面

GridPane 门面作为 GridPane\API\Client 类实例的包装器。该类上可用的任何方法(此处有文档)都可通过门面访问。例如

// Get all Servers
GridPane::server()->getAll();

// Create a new server
$newServer = $client->server()->create([
    'servername' => 'hal9000',                          
    'ip' => '199.199.199.199',                        
    'datacenter' => 'space-station-v',                     
    'webserver' => 'nginx',      
    'database' => 'percona'
]);
print_r($newServer);

// Delete a server
GridPane::server(12345)->delete();

依赖注入

如果您不想使用门面,可以省略在 config/app.php 中添加别名,而是将 KyleWLawrence\GridPane\Services\GridPaneService 注入到您的类中。然后,您可以使用此对象上的所有相同方法,就像在门面上一样。

<?php

use KyleWLawrence\GridPane\Services\GridPaneService;

class MyClass {

    public function __construct(GridPaneService $gridpane_service) {
        $this->gridpane_service = $gridpane_service;
    }

    public function getSite() {
        $this->gridpane_service->site()->get(12345);
    }

}

此包受 MIT 许可证 保护。