snscripts / virtualmin-sdk
Virtualmin 控制面板的非官方 SDK
Requires
- php: >=5.5.0
- cartalyst/collections: 1.1.*
- guzzlehttp/guzzle: 6.2.*
Requires (Dev)
- phpunit/phpunit: ~4.0
- symfony/var-dumper: 3.0.*
README
这是一个符合 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)。有关更多信息,请参阅许可证文件。