hieupt7 / directadmin
用于管理 DirectAdmin 控制面板服务器的 PHP 客户端库。
Requires
- php: >=5.6.0
- guzzlehttp/guzzle: ^6.1
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.0
- php-coveralls/php-coveralls: ^2.1
- phpunit/phpunit: ^5.7 || ^7.3
This package is not auto-updated.
Last update: 2024-09-23 16:47:08 UTC
README
这是一个用于管理 DirectAdmin 控制面板服务器的 PHP 客户端库。我们之所以开发这个库,是因为我们需要自动化我们自己的 DirectAdmin 服务器,而现有的实现不受支持且不完整。
安装
推荐通过 Composer 安装此库
composer require hieupt7/directadmin
如果您不熟悉 composer,请按照 Linux/Unix/Mac 或 Windows 的安装说明进行操作,然后阅读 基本使用介绍。
依赖项
该库使用 Guzzle 6 作为其 HTTP 通信层。支持的 PHP 版本为 5.6、7.0、7.1 和 hhvm。
基本用法
要设置连接,请使用以下基本函数之一
use Omines\DirectAdmin\DirectAdmin; $adminContext = DirectAdmin::connectAdmin('http://hostname:2222', 'admin', 'pass'); $resellerContext = DirectAdmin::connectReseller('http://hostname:2222', 'reseller', 'pass'); $userContext = DirectAdmin::connectUser('http://hostname:2222', 'user', 'pass');
这些函数分别返回一个 AdminContext、ResellerContext 和 UserContext,分别暴露给定级别的功能。所有三个都相互扩展,因为 DirectAdmin 使用严格的 is-a 模型。要代表用户行事,您可以使用模仿调用
$resellerContext = $adminContext->impersonateReseller($resellerName); $userContext = $resellerContext->impersonateUser($userName);
两者本质上是相同的,但映射到正确的返回类型。管理用户的域名时也会隐式地执行模仿
$domain = $adminContext->getUser('user')->getDomain('example.tld');
如果域名存在,则返回一个在所有者用户上下文中的 Domain 实例,允许您透明地管理其电子邮件账户等。
贡献
由于 DirectAdmin API 不断扩展,欢迎拉取请求,也欢迎提出特定功能的需求。拉取请求应一般包括为已实现或已修正的函数提供适当的单元测试。
有关单元测试的更多信息,请参阅测试文件夹中的 README.md。
法律
本软件是在荷兰埃因霍温的 Omines Full Service Internetbureau 内部开发的。它是在 MIT 许可证下向公众共享的,没有任何针对特定目的的适用性保证。有关详细信息,请参阅包含的 LICENSE 文件。
本项目与 JBMC Software 或其员工没有任何关联。