notifius/php-wctp

一个用于创建和处理 WCTP v1.3r1 规范 XML 请求/响应对象的 PHP 库。

v0.1.0 2023-03-25 01:25 UTC

This package is auto-updated.

Last update: 2024-09-25 05:05:42 UTC


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。所有安全漏洞都将得到及时解决。