common-gateway / haalcentraal-to-stufbg-bundle
用于创建symfony flex插件包的示例包
Requires
- php: >=7.4
- commongateway/corebundle: ^1.1.0
Requires (Dev)
- symfony/dependency-injection: ~3.4|~4.1|~5.0
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分钟或更短的时间内创建您的插件。
-
在GitHub上登录
-
使用此模板
-
命名您的包(CamelCase)。根据Symfony 命名约定,包需要以
Bundle
结尾。 -
点击绿色按钮
从模板创建存储库
-
更新文件名和命名空间以适合您的需求
- 打开composer.json,并将其更改为适合您的名称。第一个单词应该是命名空间,第二个是包的名称。
注意:这是kebab-case。还请参阅:命名您的包
- 检查autoload字段是否已正确设置。
- 打开PetStoreBundle.php,并更改Bundle
name
和namespace
。命名空间应与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>