kch/pcc-3-deklaracja

提供构建PCC3声明和自动使用JMS_Serializer构建xml的类的类库

v5.1.1 2017-10-23 11:25 UTC

This package is not auto-updated.

Last update: 2024-09-29 01:53:19 UTC


README

提供构建PCC3声明和自动使用JMS_Serializer构建xml的类的类库

安装

composer require kch/pcc-3-deklaracja:dev-master

使用库中的类

需要jms/serializer处理类

composer require jms/serializer

$serializerBuilder = SerializerBuilder::create();
$serializerBuilder->addMetadataDir('PCC3\metadata', 'KCH\PCC3'); # ścieżka do katalogu z metadata oraz NameSpace
$serializerBuilder->configureHandlers(function (HandlerRegistryInterface $handlerRegistry) use ($serializerBuilder) {
    $serializerBuilder->addDefaultHandlers();
    $handlerRegistry->registerSubscribingHandler(new BaseTypesHandler());
    $handlerRegistry->registerSubscribingHandler(new XmlSchemaDateHandler());
});

$serializerBuilder = $serializerBuilder->build();
$deklaracja = $serializerBuilder->deserialize('......xml deklaracji......', 'KCH\PCC3\Deklaracja', 'xml');
$xml = $serializerBuilder->serialize($deklaracja,'xml');

重新生成PCC3类文件

此功能仅用于更新声明时使用

vendor/bin/xsd2php convert ./config.yml ./schemat.xsd

注意

不正确地生成了非物理人(person)的类,需要手动添加缩写名称

作者

Jonkisz Paweł