common-gateway/haalcentraal-to-stufbg-bundle
Installation via Admin UI
haalcentraal-to-stufbg-bundle and install it directly.CLI Installation (Alternative)
composer require common-gateway/haalcentraal-to-stufbg-bundle:dev-main
php bin/console commongateway:install common-gateway/haalcentraal-to-stufbg-bundle
(For Docker: Replace php with docker-compose exec php)
Verify Installation
php bin/console debug:container | grep stufbg
First Use Case: Data Transformation
use CommonGateway\HaalCentraalToStufBGBundle\Transformer\HaalCentraalToStufTransformer;
$transformer = new HaalCentraalToStufTransformer();
$stufXml = $transformer->transform($haalCentraalData);
Plugin-Based Data Mapping
HaalCentraalToStufTransformer for custom fields:
class CustomHaalCentraalToStufTransformer extends HaalCentraalToStufTransformer {
protected function mapCustomField($data) {
return $this->createStufElement('CustomField', $data['custom_key']);
}
}
Schema Integration
config/packages/commongateway.yaml:
commongateway:
schemas:
stufbg_custom:
path: '%kernel.project_dir%/config/schemas/stufbg'
format: xml
Event-Driven Processing
commongateway.plugin.installed) to trigger post-install logic:
use Symfony\Component\EventDispatcher\GenericEvent;
$dispatcher->addListener('commongateway.plugin.installed', function (GenericEvent $event) {
if ($event->getSubject()->getName() === 'haalcentraal-to-stufbg-bundle') {
// Post-install setup (e.g., cache warming)
}
});
API Integration
$client = $this->get('common_gateway.http_client');
$haalCentraalData = $client->get('https://api.haalcentraal.nl/data')->toArray();
$stufXml = $transformer->transform($haalCentraalData);
HaalCentraalToStufTransformer via Laravel’s container.config/services.php:
'stufbg' => [
'namespace' => 'urn:stuf:stufbg:1.0',
'version' => '1.0',
],
HaalCentraalToStufTransformer in unit tests:
$this->app->instance(
HaalCentraalToStufTransformer::class,
Mockery::mock(HaalCentraalToStufTransformer::class)
);
Schema Validation Failures
php bin/console commongateway:validate-schema stufbg to debug.config/packages/commongateway.yaml:
commongateway:
validation:
strict: true
Plugin Discovery Issues
composer.json includes "type": "symfony-bundle".php bin/console cache:clear
CommonGateway\HaalCentraalToStufBGBundle\HaalCentraalToStufBGBundle is autoloaded.Namespace Conflicts
$this->setNamespace('urn:custom:stufbg:1.0');
Performance with Large Datasets
foreach ($largeDataset as $chunk) {
$transformer->transform($chunk);
}
$transformer->setDebug(true); // Logs raw XML to `var/log/transformer.log`
php bin/console debug:container | grep haalcentraal
xmllint --schema path/to/stufbg.xsd transformed.xml --noout
Custom Transformers
BaseHaalCentraalToStufTransformer to add domain-specific logic:
class MyDomainTransformer extends BaseHaalCentraalToStufTransformer {
protected function mapDomainSpecificField($data) {
// Custom logic
}
}
Hooks for Post-Transformation
$dispatcher->addListener('commongateway.stufbg.transformed', function ($event) {
$stufXml = $event->getData();
// Store in DB, send to API, etc.
});
Override Default Schemas
php bin/console assets:install public
config/packages/commongateway.yaml to point to your schemas.Docker-Specific Quirks
docker-compose.yml:
volumes:
- ./var/log:/var/www/var/log
How can I help you explore Laravel packages today?