notifius / php-wctp
一个用于创建和处理 WCTP v1.3r1 规范 XML 请求/响应对象的 PHP 库。
v0.1.0
2023-03-25 01:25 UTC
Requires
- php: ^7.3|^8.0
- ext-simplexml: ^7.3|^8.0
- nesbot/carbon: ^2.57.0
Requires (Dev)
- phpunit/phpunit: ^9.5.20
README
用于创建和提交 XML WCTP 请求和响应的 PHP 库
非生产就绪
尚未准备好日常使用!我们将在准备好在生产环境中使用时发布 1.0.0 版本。目前,请期待命名空间更新和其他破坏性更改。
入门指南
使用 composer 安装库
composer require notifius/php-wctp
库的示例用法
use NotifiUs\WCTP\XML\ClientQuery; $clientQuery = new ClientQuery(); $xml = $clientQuery ->senderID( 'senderID' ) ->recipientID( 'recipientID' ) ->trackingNumber( 'trackingNumber' ) ->xml();
XML 请求方法模板
一般信息
日期
我们依赖 nesbot/carbon
composer 包来处理库中的日期。
将 WCTP 令牌添加到 wctp-Operation
对于以下所有 XML WCTP 方法,您可以选择向构造函数传递 wctpToken
$clientQuery = new ClientQuery( 'token' );
这将向 <wctp-Operation>
元素添加 XML 属性 wctpToken="token"
。
返回类型
$xml
变量将是一个 SimpleXMLElement 对象。您可以通过调用 $xml->asXML()
来获取 XML 字符串。
宽松的参数要求
虽然我们遵循 WCTP 对参数和长度的建议,但我们不强制执行允许的字符。任何不符合 XML 规范的内容都将自动转义,请记住这一点。这应该提供额外的灵活性(通过约定)并使现在约 15 年前的协议现代化。
WCTP XML 方法
wctp-MessageReply
创建 wctp-MessageReply 操作的 XML 表示。
use Carbon\Carbon; use NotifiUs\WCTP\XML\MessageReply; $messageReply = new MessageReply(); $xml = $messageReply ->messageID( 321 ) ->senderID( 'senderID' ) ->recipientID( 'recipientID' ) ->responseToMessageID( 123 ) ->submitTimestamp( Carbon::now() ) ->payload( 'Reply to a message' ) ->xml(); print_r( $xml ); /* */
wctp-ClientQuery
创建 wctp-ClientQuery 操作的 XML 表示。
use NotifiUs\WCTP\XML\ClientQuery; $clientQuery = new ClientQuery(); $xml = $clientQuery ->senderID( 'senderID' ) ->recipientID( 'recipientID' ) ->trackingNumber( 'trackingNumber' ) ->xml(); print_r( $xml ); /* SimpleXMLElement Object ( [@attributes] => Array ( [wctpVersion] => WCTP-DTD-V1R3 ) [wctp-ClientQuery] => SimpleXMLElement Object ( [@attributes] => Array ( [senderID] => senderID [recipientID] => recipientID [trackingNumber] => trackingNumber ) ) ) */
wctp-VersionQuery
创建 wctp-VersionQuery 操作的 XML 表示。
use NotifiUs\WCTP\XML\VersionQuery; $versionQuery = new VersionQuery(); $xml = $versionQuery ->inquirer( 'inquirer' ) ->dateTime( Carbon::now() ) ->xml();
您还可以省略可选参数,如下所示
//dateTime is an optional parameter $xml = $versionQuery ->inquirer( 'inquirer' ) ->xml();
许可证
php-wctp 库是开源软件,许可协议为 MIT 许可证。
测试
在克隆存储库并运行 composer install
之后,您可以通过以下方式运行测试套件
vendor/bin/phpunit --bootstrap vendor/autoload.php tests/
安全漏洞
如果您发现安全漏洞,请发送电子邮件至 support@notifi.us。所有安全漏洞都将得到及时解决。