common-gateway/haalcentraal-to-stufbg-bundle

用于创建symfony flex插件包的示例包

0.1.8 2024-09-03 14:36 UTC

README

...

第一部分是关于安装插件。后部分是关于自定义插件以扩展通用网关功能。

使用通用网关管理用户界面进行安装

一旦配置好一个包(如本存储库),通用网关可以在不进行额外配置的情况下发现该包。转到“插件”选项卡以搜索、选择和安装插件。

使用PHP命令进行安装

要执行以下命令,您需要Composer或已安装PHP和Composer的dockerized安装。

终端和根目录中的Composer方法

用于安装插件

$composer require common-gateway/haalcentraal-to-stufbg-bundle:dev-main

用于安装模式

`$php bin/console commongateway:install common-gateway/haalcentraal-to-stufbg-bundle

终端和根目录中的dockerized方法

用于安装插件

$docker-compose exec php composer require common-gateway/haalcentraal-to-stufbg-bundle:dev-main

用于安装模式

$docker-compose exec php bin/console commongateway:install common-gateway/haalcentraal-to-stufbg-bundle

创建您的包

本部分是为想要在不添加核心代码库的情况下构建扩展通用网关功能的插件的开发者准备的。

以下知识假设已安装或安装了

Composer Packagist Docker Schema.json通用网关的基本了解

使用此模板

此模板用于快速开发Symfony插件包,旨在作为创建自定义插件的基础模型。按照以下步骤,在45分钟或更短的时间内创建您的插件。

  1. GitHub上登录

  2. 使用此模板

  3. 命名您的包(CamelCase)。根据Symfony 命名约定,包需要以Bundle结尾。

  4. 点击绿色按钮 从模板创建存储库

  5. 更新文件名和命名空间以适合您的需求

    • 打开composer.json,并将其更改为适合您的名称。第一个单词应该是命名空间,第二个是包的名称。

    注意:这是kebab-case。还请参阅:命名您的包

    • 检查autoload字段是否已正确设置。
    • 打开PetStoreBundle.php,并更改Bundle namenamespace。命名空间应与composer.json中的包名称相同,但为CamelCase。所以common-gateway/pet-store-bundle变为CommonGateway/-HaalCentraalToStufBG
    • 相应地重命名/Service/ActionHandler(或删除未使用的部分)。
    • /DependencyInjection/PetStoreExtension.php重命名为BundleNameExtension.php
    • 重命名/Resources/config/services.yaml的命名空间

添加架构

您可以从您的 json 架构 中加载实体到 /Schema 文件夹,以便在 Common Gateway 中使用并处理基于您架构的对象。

您可以添加现有的架构或创建自己的架构并将其添加到 /Schema 文件夹中。这里有一个示例,请参考 /Schema/example.json

以下属性是必需的,没有这些属性,网关将无法识别架构为有效

- `version` can start on '0.1.0.' 

没有这个属性,您无法更新方案

- `$schema` (https://docs.commongateway.nl/schemas/Entity.schema.json)
- `$id` (https://example.com/schema/{Your scheme name}.schema.json)

唯一的 $id 用于与其他架构关联。

- `type` must be 'object'
- `properties` must be schema properties

一旦将架构添加到存储库中,您还可以为这些架构添加对象/数据。示例请参考 /Data 文件夹。

XML 示例

<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope xmlns="http://www.egem.nl/StUF/sector/bg/0310" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:StUF="http://www.egem.nl/StUF/StUF0301" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP-ENV:Body>
        <npsLa01-prs-GezinssituatieOpAdresAanvrager>
            <stuurgegevens>
                <StUF:berichtcode>La01</StUF:berichtcode>
                <StUF:zender>
                    <StUF:organisatie>0637</StUF:organisatie>
                    <StUF:applicatie>DDS</StUF:applicatie>
                </StUF:zender>
                <StUF:ontvanger>
                    <StUF:organisatie>0637</StUF:organisatie>
                    <StUF:applicatie>PFS</StUF:applicatie>
                    <StUF:gebruiker>SIM</StUF:gebruiker>
                </StUF:ontvanger>
                <StUF:referentienummer>f3ddb521-b7d6-4320-b8bc-5ab78b2ad433</StUF:referentienummer>
                <StUF:tijdstipBericht>20211203124204643</StUF:tijdstipBericht>
                <StUF:crossRefnummer>7830365490</StUF:crossRefnummer>
                <StUF:entiteittype>NPS</StUF:entiteittype>
            </stuurgegevens>
            <parameters>
                <StUF:indicatorVervolgvraag>false</StUF:indicatorVervolgvraag>
            </parameters>
            <antwoord>
                <object StUF:entiteittype="NPS">
                    <inp.bsn>999995959</inp.bsn>
                    <geslachtsnaam>Nagelhout</geslachtsnaam>
                    <voorletters>S.Y.</voorletters>
                    <voornamen>Saskia Yvonne</voornamen>
                    <aanduidingNaamgebruik>V</aanduidingNaamgebruik>
                    <geslachtsnaamPartner>Boer</geslachtsnaamPartner>
                    <voorvoegselGeslachtsnaamPartner>de</voorvoegselGeslachtsnaamPartner>
                    <aanhefAanschrijving></aanhefAanschrijving>
                    <voornamenAanschrijving></voornamenAanschrijving>
                    <geslachtsnaamAanschrijving>m</geslachtsnaamAanschrijving>
                    <adellijkeTitelPredikaat xsi:nil="true" StUF:noValue="geenWaarde"></adellijkeTitelPredikaat>
                    <geslachtsaanduiding>V</geslachtsaanduiding>
                    <geboortedatum>20000901</geboortedatum>
                    <inp.geboorteplaats>0228</inp.geboorteplaats>
                    <inp.geboorteLand>6030</inp.geboorteLand>
                    <overlijdensdatum></overlijdensdatum>
                    <verblijfsadres xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:StUF="http://www.egem.nl/StUF/StUF0301">
                        <aoa.identificatie>0228010000053699</aoa.identificatie>
                        <wpl.identificatie xsi:nil="true" StUF:noValue="geenWaarde"></wpl.identificatie>
                        <wpl.woonplaatsNaam>Ede</wpl.woonplaatsNaam>
                        <gor.openbareRuimteNaam>Grotestraat</gor.openbareRuimteNaam>
                        <gor.straatnaam>Grotestraat</gor.straatnaam>
                        <aoa.postcode>6711AM</aoa.postcode>
                        <aoa.huisnummer>2</aoa.huisnummer>
                        <aoa.huisletter></aoa.huisletter>
                        <aoa.huisnummertoevoeging></aoa.huisnummertoevoeging>
                        <inp.locatiebeschrijving xsi:nil="true" StUF:noValue="nietOndersteund"></inp.locatiebeschrijving>
                    </verblijfsadres>
                    <sub.correspondentieAdres xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:StUF="http://www.egem.nl/StUF/StUF0301">
                        <aoa.identificatie>0228010000053699</aoa.identificatie>
                        <wpl.identificatie xsi:nil="true" StUF:noValue="geenWaarde"></wpl.identificatie>
                        <wpl.woonplaatsNaam>Ede</wpl.woonplaatsNaam>
                        <gor.openbareRuimteNaam>Grotestraat</gor.openbareRuimteNaam>
                        <gor.straatnaam>Grotestraat</gor.straatnaam>
                        <aoa.postcode>6711AM</aoa.postcode>
                        <aoa.huisnummer>2</aoa.huisnummer>
                        <aoa.huisletter></aoa.huisletter>
                        <aoa.huisnummertoevoeging></aoa.huisnummertoevoeging>
                    </sub.correspondentieAdres>
                    <sub.telefoonnummer xsi:nil="true" StUF:noValue="geenWaarde"></sub.telefoonnummer>
                    <sub.faxnummer xsi:nil="true" StUF:noValue="geenWaarde"></sub.faxnummer>
                    <sub.emailadres xsi:nil="true" StUF:noValue="geenWaarde"></sub.emailadres>
                    <acd.code xsi:nil="true" StUF:noValue="geenWaarde"></acd.code>
                    <acd.code xsi:nil="true" StUF:noValue="geenWaarde"></acd.code>
                    <acd.code xsi:nil="true" StUF:noValue="geenWaarde"></acd.code>
                    <inp.heeftAlsEchtgenootPartner StUF:entiteittype="NPSNPSHUW">
                        <gerelateerde StUF:entiteittype="NPS">
                            <inp.bsn>999995923</inp.bsn>
                            <geslachtsnaam>Boer</geslachtsnaam>
                            <voorvoegselGeslachtsnaam>de</voorvoegselGeslachtsnaam>
                            <voorletters>J.</voorletters>
                            <voornamen>Jeroen</voornamen>
                            <geslachtsaanduiding>M</geslachtsaanduiding>
                            <geboortedatum>19891112</geboortedatum>
                        </gerelateerde>
                    </inp.heeftAlsEchtgenootPartner>
                    <inp.heeftAlsKinderen StUF:entiteittype="NPSNPSKND">
                        <gerelateerde StUF:entiteittype="NPS">
                            <inp.bsn>999995996</inp.bsn>
                            <geslachtsnaam>Boer</geslachtsnaam>
                            <voorvoegselGeslachtsnaam>de</voorvoegselGeslachtsnaam>
                            <voorletters>P.P.B.</voorletters>
                            <voornamen>Patricia Petronella Bartje</voornamen>
                            <geslachtsaanduiding>V</geslachtsaanduiding>
                            <geboortedatum>20190203</geboortedatum>
                        </gerelateerde>
                    </inp.heeftAlsKinderen>
                    <inp.heeftAlsOuders StUF:entiteittype="NPSNPSOUD">
                        <gerelateerde StUF:entiteittype="NPS">
                            <inp.bsn>999995960</inp.bsn>
                            <geslachtsnaam>Flierman</geslachtsnaam>
                            <voorvoegselGeslachtsnaam></voorvoegselGeslachtsnaam>
                            <voorletters>H.B.</voorletters>
                            <voornamen>Hendrika Bartje</voornamen>
                            <geslachtsaanduiding>V</geslachtsaanduiding>
                            <geboortedatum>19791112</geboortedatum>
                        </gerelateerde>
                    </inp.heeftAlsOuders>
                </object>
            </antwoord>
        </npsLa01-prs-GezinssituatieOpAdresAanvrager>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>