aronduby / namecheap
Namecheap API 的 PHP 封装器
Requires
- php: >=5.3.0
Requires (Dev)
- phpunit/phpunit: 3.7.*
This package is auto-updated.
Last update: 2024-09-17 10:01:06 UTC
README
这是一个 Namecheap API 的库。它支持所有最新的 Namecheap API 方法,并可以使用 composer 进行安装。最初只是 Humen/Namecheap 的一个分支,但后来我进行了大量的破坏性更改,包括如何与类和解析器交互,因此将其切换到自己的仓库。
需求
- PHP 5.3.0 或更高版本
安装
要安装 Namecheap,请使用以下 composer require 语句
"require": {
"aronduby/namecheap": "dev-master"
}
用法
require 'vendor/autoload.php'; $api_user = 'YOUR-API-USERNAME'; $api_key = 'YOUR-API-KEY'; $client_ip = 'YOUR-IP-ADDRESS'; $sandbox = true; $namecheap = new Namecheap\Wrapper($api_user, $api_key, $client_ip, $sandbox); $response = $namecheap->domains()->getTldList(); if($response->success === true){ $response->getData(); } else { $response->getErrors(); }
解析器
XML 到 Array 的解析是通过来自 Outlandish 博客的以下函数完成的。从 CommandResponse 开始的节点将被返回为嵌套关联数组,其中节点名称是键,属性以 @
为前缀,文本值以 $
为前缀。
因此,这个调用
$rsp = $namecheap->domains()->dns()->getEmailForwarding(['DomainName' => 'test.com']);
会从 $rsp->getRaw()
得到以下 XML
<?xml version="1.0" encoding="utf-8"?> <ApiResponse Status="OK" xmlns="http://api.namecheap.com/xml.response"> <Errors /> <Warnings /> <RequestedCommand>namecheap.domains.dns.getEmailForwarding</RequestedCommand> <CommandResponse Type="namecheap.domains.dns.getEmailForwarding"> <DomainDNSGetEmailForwardingResult Domain="test.com"> <Forward mailboxid="19935" mailbox="info">test@gmail.com</Forward> <Forward mailboxid="19936" mailbox="webmaster">test@grcmc.org</Forward> </DomainDNSGetEmailForwardingResult> </CommandResponse> <Server>PHX01SBAPI01</Server> <GMTTimeDifference>--4:00</GMTTimeDifference> <ExecutionTime>1.379</ExecutionTime> </ApiResponse>
这会从 $rsp->getData()
得到以下数组
[ "@Type" => "namecheap.domains.dns.getEmailForwarding", "DomainDNSGetEmailForwardingResult" => [ [ "@Domain" => "test.com", "Forward" => [ [ "@mailboxid" => "19935", "@mailbox" => "info", "$" => "test@gmail.com", ], [ "@mailboxid" => "19936", "@mailbox" => "webmaster", "$" => "test@gmail.com", ], ], ], ], ]
如果您喜欢直接与 SimpleXml
对象工作,只需调用 $response->getXml()
待办事项
- 编写单元测试
- 编写 DTO 以强制调用严格性
许可
MIT 许可证 (MIT)
版权所有 (c) 2013 Vouga Labs
特此授予任何获得此软件及其相关文档文件(“软件”)副本的人,在不受限制的情况下使用软件的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本的权利,并允许软件的提供者为此目的而使用软件,但受以下条件约束:
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、适用于特定用途和不受侵权的保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论是因合同、侵权或其他原因引起的,无论该索赔、损害或其他责任是否与软件或软件的使用或其他方式有关。