kigkonsult/sie5sdk

Sie5 SDK,基于Sie5 XSD模式

资助包维护!
其他

v1.4 2021-11-24 16:22 UTC

This package is auto-updated.

Last update: 2024-08-24 22:01:23 UTC


README

  • PHP SDK 用于 Sie5 导出/导入格式
  • 管理会计、账簿、账簿、资产、库存数据等
  • 基于 Sie5 XSD 模式

并提供

使用方法,解析 XML

Sie5Sdk 使用 XMLReader 解析输入并接受 Sie 和 SieEntry 根元素。

解析导出 Sie XML 文件

<?php
namespace Kigkonsult\Sie5Sdk;
use Kigkonsult\Sie5Sdk\XMLParse\Sie5Parser;

$sie = Sie5Parser::factory()->parse( 
    file_get_contents( 'SieExportFile.xml' )
);

foreach( $sie->getAccounts()->getAccount() as $account ) {
    $id = $account->getId();
    //...
}
//...

解析导入 SieEntry XML 文件

<?php
namespace Kigkonsult\Sie5Sdk;
use Kigkonsult\Sie5Sdk\XMLParse\Sie5Parser;

$sieEntry = Sie5Parser::factory()->parse( 
    file_get_contents( 'SieImportFile.xml' )
);

foreach( $sieEntry->getAccounts()->getAccount() as $account ) {
    $id = $account->getId();
    //...
}
//...

XML 解析器将 XMLreader 节点属性(baseURI、localName、name、namespaceURI、prefix)保存为每个 XML(Dto)元素作为 'XMLattributes',以及 XML 属性(xmlns、xmlns:*、schemaLocation),如果设置。

使用方法,构建结构

构建导入 SieEntry 结构

<?php
namespace Kigkonsult\Sie5Sdk;
use Kigkonsult\Sie5Sdk\XMLWrite\Sie5Writer;
use Kigkonsult\Sie5Sdk\Dto\SieEntry;
use Kigkonsult\Sie5Sdk\Dto\AccountsTypeEntry;
use Kigkonsult\Sie5Sdk\Dto\AccountTypeEntry;

$sieEntry = sieEntry::factory()
    ->setXMLattribute( SieEntry::XMLNS_XSI,          SieEntry::XMLSCHEMAINSTANCE )
    ->setXMLattribute( SieEntry::XMLNS_XSD,          SieEntry::XMLSCHEMA )
    ->setXMLattribute( SieEntry::XSI_SCHEMALOCATION, SieEntry::SIE5SCHEMALOCATION )
    ->setXMLattribute( SieEntry::XMLNS,              SieEntry::SIE5URI );

    ->setAccounts( 
        AccountsTypeEntry::factory()
            ->setAccount(
                [
                    AccountTypeEntry::factory()
                        ->setId( '1910' )
                        ->setName( 'Kassa' )
                        ->setType( AccountTypeEntry::ASSET ),
                    AccountTypeEntry::factory()
                        ->setId( '1930' )
                        ->setName( 'Bank' )
                        ->setType( AccountTypeEntry::ASSET )
                ]
            )
    )
    ->set...
    
$XMLstring = Sie5Writer::factory()->write( $sieEntry );
...
XML 属性

您还可以使用以下方式设置 XMLattribute(显式设置,如果重写解析的 sie xml 文件则不是必需的)

$sieEntry->setXMLAttribut( <key>, <value> );

设置(例如前缀)并向下传播

$sieEntry->setXMLAttribut( SieEntry::PREFIX, <value>, true );

您可以删除(单个 '元素')XMLattribute

$dsig->unsetXMLAttribut( <key> );

取消设置(例如前缀)并向下传播

$sieEntry->unsetXMLAttribut( SignatureType::PREFIX, true );

获取并遍历 XMLAttributes

foreach( $sieEntry->getXMLAttributes() as $key => $value {
    ...
}

使用方法,以 XML 格式输出

Sie5Sdk 使用 XMLWriter 创建输出。

$XMLstring = Sie5Writer::factory()->write( $sieEntry );

XMLwriter 为每个元素添加

  • 具有前缀的元素名称,如果存在
  • XMLattribute xmlns、xmlns:* 和 schemaLocation,如果存在。

使用方法,以 DomNode 格式输出

$domNode = Sie5Writer::factory()->write( $sieEntry, true );

信息

Sie5Sdk 需要 PHP7+。

有关类结构、架构和使用方法,请检查

您可以在以下位置找到方便的常量

Sie5Sdk 使用

Sie5Sdk 支持元素中的 属性 扩展

  • Account、Company、CustomerInvoice、Customer、FileInfo、FixedAsset、GeneralObject、JournalEntry、LedgerEntry、Supplier

安装

通过命令行使用 Composer

composer require kigkonsult/sie5sdk

在您的 composer.json 中使用 Composer

{
    "require": {
        "kigkonsult/sie5sdk": "dev-master"
    }
}

版本 1.4 支持 PHP 8.0,1.2 7.4,1.1 7.0。

获取访问权限

namespace Kigkonsult\Sie5Sdk;
...
include 'vendor/autoload.php';

否则,下载并获得访问权限...

namespace Kigkonsult\Sie5Sdk;
...
include 'pathToSource/sie5sdk/autoload.php';

赞助

欢迎使用 paypal.me/kigkonsult 进行捐赠。如需发票,请通过 电子邮件 联系。

支持

如需获得支持,请访问 Github/issues。

关于 Sie XSD 的问题,请访问 Sie 网站首页。

许可证

本项目遵循 LGPLv3 许可证