thelogicstudio / qbxml
一个PHP库,用于解析和生成用于Quickbooks Desktop的QBXML
v1.0.3
2024-02-22 03:18 UTC
README
这是一个简单的类集,用于解析和创建与Quickbooks Desktop通信的QBXML(可能通过Quickbooks Web Connector)。其中大部分是基于Keith Palmer之前的工作。我的实现允许您集成自己的应用程序逻辑 - 这个库只处理QBXML的解析。这还增加了命名空间、方法链,并修复了Keith工作中的一些错误和不一致性。
使用方法
解析
读取QBXML响应可能看起来像这样
$doc = (new \TheLogicStudio\QBXML\XML\Parser($response))->parse($errnum, $errmsg);
$root = $doc->getRoot();
$out = [];
foreach($root->getChildAt('QBXML QBXMLMsgsRs')->children() as $child) {
if(str_ends_with($child->name(), 'QueryRs')) {
/** @var Models\GenericObject $class */
$class = '\\TheLogicStudio\\QBXML\\Models\\'.substr($child->name(), 0, -7);
foreach($child->children() as $node) {
$out[] = $class::fromXML($node);
}
}
}
创建
创建一个发送给Quickbooks的请求可能看起来像这样
$qbxml = (new \TheLogicStudio\QBXML\Models\Account())
->setName('My Account')
->setAccountNumber(99)
->asQBXML('AccountAddRq');
贡献
这段代码还远非完美 - 如果您想帮助改进它,请随意发送pull request。如果您有问题,您可以在𝕏上找到我,我的用户名是@IanTLS。