snscripts/virtualmin-sdk

Virtualmin 控制面板的非官方 SDK

0.3.3 2016-07-21 19:29 UTC

This package is auto-updated.

Last update: 2024-09-10 21:00:37 UTC


README

Author Source Code Latest Version Software License

这是一个符合 PSR-2 规范的 Virtualmin 控制面板非官方 PHP SDK,它应该可以使您的系统集成到 Virtualmin 变得非常简单!

需求

Composer

Virtualmin SDK 需要以下内容

  • "php": ">=5.5.0
  • "guzzlehttp/guzzle": "6.2.*",
  • "cartalyst/collections": "1.1.*"

安装

Composer

最简单的安装方法是使用 composer。

composer require snscripts/virtualmin-sdk 0.*

或添加到您的项目的 composer.json 文件中。

{
    "require": {
        "snscripts/virtualmin-sdk": "1.*"
    }
}

用法

设置

要开始,您首先需要定义 Virtualmin 类并传递 Guzzle 依赖项。

use \Snscripts\Virtualmin\Virtualmin;

$Virtualmin = new Virtualmin(
    new GuzzleHttp\Client
);

接下来,您需要设置与您的 Virtualmin 服务器的连接。这需要主账户登录详情。

$Virtualmin->setConnection(
    'host:port',
    'user',
    'pass'
);

如果您的服务器在 http 模式下运行,您可以将 Virtualmin::NOSECURE 常量作为 setConnection 的第四个参数传递以禁用 https 的使用。(默认行为为 Virtualmin::SECURE)。

$Virtualmin->setConnection(
    'host',
    'user',
    'pass',
    Virtualmin::NOSECURE
);

如果您正在运行 https,但它在开发环境中,并且实际上没有有效的 SSL 证书,您可以使用以下方式禁用证书检查:

$Virtualmin->setVerify(Virtualmin::NOVERIFY);

此操作不应在生产环境中进行,仅在开发期间需要时才使用。

使用

当使用 SDK 时,您可能会发现 Virtualmin 文档中的此页(此页)很有用。它详细说明了在命令行工具中管理您的 Virtualmin 服务器时可用的操作和参数。所有这些命令和参数都可用于此 SDK(并非所有命令都受支持)。

API 的每个支持部分都附带一个 "Manager" 类,此类定义了所有可用的操作。然后它也接受执行该请求所需的所有参数,然后执行它。

每个 Manager 类都应接受从 Virtualmin 类定义的 Virtualmin 对象,如上面的示例中所示。

PlanManager

计划管理器负责处理与计划相关的操作。

$PlanManager = new \Snscripts\Virtualmin\Plans\PlanManager($Virtualmin);
$plans = $PlanManager->ListPlans()->run();
$Plan = $plans->first(); // get the first plan returned

ListPlans 操作将返回一个结果集合(如果没有创建计划,则返回一个空集合)。集合中的每个项目应是一个包含该计划所需详细信息的 \Snscripts\Virtualmin\Plans\Plan 实例。

HostingManager

托管管理器负责处理“虚拟服务器”或共享托管账户。

$HostingManager = new \Snscripts\Virtualmin\Hosting\HostingManager($Virtualmin);

$createResult = $HostingManager->CreateService()
	->setDomain('example.com')
	->setPlan($Plan->id)
	->setPass('password')
	->setLimitsFromPlan() // this makes it use the disk quota and broadband limits from the set plan otherwise define your own
	->setFeaturesFromPlan() // this makes it use the defined features on your plan otherwise define your own.
	->run();

$createResult 将包含一个 \Snscripts\Virtualmin\Results\Result 实例。使用该对象,您可以执行 $createResult->getStatus() 来获取调用是否成功的布尔值表示,以及执行 $createResult->getMessage() 来获取调用失败或成功的详细原因。

$deleteResult = $HostingManager->DeleteService()
	->setDomain('example.com')
	->run();
	
$disableResult = $HostingManager->DisableService()
	->setDomain('example.com')
	->run();
	
$enableResult = $HostingManager->EnableService()
	->setDomain('example.com')
	->run();

贡献

有关详细信息,请参阅CONTRIBUTING

许可证

MIT 许可证(MIT)。有关更多信息,请参阅许可证文件