{"id":14984075,"url":"https://github.com/simpod/phpkafkabundle","last_synced_at":"2026-02-16T13:13:12.583Z","repository":{"id":37890269,"uuid":"119549487","full_name":"simPod/PhpKafkaBundle","owner":"simPod","description":"Kafka bundle for Symfony","archived":false,"fork":false,"pushed_at":"2025-08-11T14:59:56.000Z","size":132,"stargazers_count":9,"open_issues_count":3,"forks_count":7,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-08-17T10:55:34.154Z","etag":null,"topics":["kafka","php","rdkafka","rdkafka-extension","symfony","symfony-bundle"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/simPod.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["simPod"]}},"created_at":"2018-01-30T14:45:01.000Z","updated_at":"2025-07-28T23:01:20.000Z","dependencies_parsed_at":"2023-12-15T12:31:06.995Z","dependency_job_id":"4425cc82-b71b-4679-a6c4-9560dd80e67f","html_url":"https://github.com/simPod/PhpKafkaBundle","commit_stats":{"total_commits":75,"total_committers":7,"mean_commits":"10.714285714285714","dds":"0.33333333333333337","last_synced_commit":"da576aff7f73f4b716c1c7d3babae309062c5634"},"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/simPod/PhpKafkaBundle","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simPod%2FPhpKafkaBundle","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simPod%2FPhpKafkaBundle/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simPod%2FPhpKafkaBundle/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simPod%2FPhpKafkaBundle/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/simPod","download_url":"https://codeload.github.com/simPod/PhpKafkaBundle/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simPod%2FPhpKafkaBundle/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271378680,"owners_count":24749192,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-20T02:00:09.606Z","response_time":69,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["kafka","php","rdkafka","rdkafka-extension","symfony","symfony-bundle"],"created_at":"2024-09-24T14:08:24.674Z","updated_at":"2026-02-16T13:13:12.548Z","avatar_url":"https://github.com/simPod.png","language":"PHP","funding_links":["https://github.com/sponsors/simPod"],"categories":[],"sub_categories":[],"readme":"# PHP Kafka Symfony bundle for php-rdkafka\n\n[![GitHub Actions][GA Image]][GA Link]\n[![Code Coverage][Coverage Image]][CodeCov Link]\n[![Downloads][Downloads Image]][Packagist Link]\n[![Packagist][Packagist Image]][Packagist Link]\n[![Infection MSI][Infection Image]][Infection Link]\n\n## Installation\n\nAdd as [Composer](https://getcomposer.org/) dependency:\n\n```sh\ncomposer require simpod/kafka-bundle\n```\n\nThen add `KafkaBundle` to Symfony's `bundles.php`:\n\n```php\nuse SimPod\\KafkaBundle\\SimPodKafkaBundle;\n\nreturn [\n    ...\n    new SimPodKafkaBundle()\n    ...\n];\n```\n\n## Usage\n\nThis package simply makes it easier to integrate https://github.com/arnaud-lb/php-rdkafka with Symfony. For more details how to work with Kafka in PHP, refer to its documentation.\n\n### Available console commands:\n\n- `bin/console debug:kafka:consumers` to list all available consumer groups\n- `bin/console kafka:consumer:run \u003cconsumer name\u003e` to run consumer instance\n\n### Config:\n\nYou can create eg. `kafka.yaml` file in your config directory with following content:\n\n```yaml\nkafka:\n    authentication: '%env(KAFKA_AUTHENTICATION)%'\n    bootstrap_servers: '%env(KAFKA_BOOTSTRAP_SERVERS)%'\n    client:\n        id: 'your-application-name'\n```\n\n- `authentication` reads env var `KAFKA_AUTHENTICATIOn` that contains authentication uri (`sasl-plain://user:password`, or it might be just empty indicating no authentication).\n- `bootstrap_servers` reads env var `KAFKA_BOOTSTRAP_SERVERS` that contains comma-separated list of bootstrap servers (`broker-1.kafka:9092,broker-2.kafka:9092`).\n\nIf `bootstrap_servers` isn't set, it defaults to `127.0.0.1:9092`\n\n### Services\n\nFollowing services are registered in container and can be DI injected.\n\n#### Configuration\n\nclass: `\\SimPod\\KafkaBundle\\Kafka\\Configuration`\n\nConfiguration service allows easy access to all the configuration properties.\n\n```php\n$config-\u003eset(ConsumerConfig::CLIENT_ID_CONFIG, $this-\u003econfiguration-\u003egetIdWithHostname());\n```\n\n### Consuming\n\nThere's interface `NamedConsumer` available. When your consumer implements it, this bundle autoregisters it.\n\nThis is example of simple consumer, it can be then run via `bin/console kafka:consumer:run consumer1`\n\n```php\n\u003c?php\n\ndeclare(strict_types=1);\n\nnamespace Your\\AppNamespace;\n\nuse SimPod\\Kafka\\Clients\\Consumer\\ConsumerConfig;\nuse SimPod\\Kafka\\Clients\\Consumer\\KafkaConsumer;\nuse SimPod\\KafkaBundle\\Kafka\\Configuration;\nuse SimPod\\KafkaBundle\\Kafka\\Clients\\Consumer\\NamedConsumer;\n\nfinal class ExampleKafkaConsumer implements NamedConsumer\n{\n    private Configuration $configuration;\n\n    public function __construct(Configuration $configuration)\n    {\n        $this-\u003econfiguration = $configuration;\n    }\n\n    public function run(): void\n    {\n        $kafkaConsumer = new KafkaConsumer($this-\u003egetConfig());\n\n        $kafkaConsumer-\u003esubscribe(['topic1']);\n\n        while (true) {\n            ...\n        }\n    }\n    \n    public function getName(): string {\n        return 'consumer1';    \n    }\n\n    private function getConfig(): ConsumerConfig\n    {\n        $config = new ConsumerConfig();\n\n        $config-\u003eset(ConsumerConfig::BOOTSTRAP_SERVERS_CONFIG, $this-\u003econfiguration-\u003egetBootstrapServers());\n        $config-\u003eset(ConsumerConfig::ENABLE_AUTO_COMMIT_CONFIG, false);\n        $config-\u003eset(ConsumerConfig::CLIENT_ID_CONFIG, $this-\u003econfiguration-\u003egetClientIdWithHostname());\n        $config-\u003eset(ConsumerConfig::AUTO_OFFSET_RESET_CONFIG, 'earliest');\n        $config-\u003eset(ConsumerConfig::GROUP_ID_CONFIG, 'consumer_group');\n\n        return $config;\n    }\n}\n\n```\n\n### Development\n\nThere is `kwn/php-rdkafka-stubs` listed as a dev dependency so it properly integrates php-rdkafka extension with IDE.\n\n[GA Image]: https://github.com/simPod/PhpKafkaBundle/workflows/CI/badge.svg\n\n[GA Link]: https://github.com/simPod/PhpKafkaBundle/actions?query=workflow%3A%22CI%22+branch%3Amaster\n\n[Coverage Image]: https://codecov.io/gh/simPod/PhpKafkaBundle/branch/master/graph/badge.svg\n\n[CodeCov Link]: https://codecov.io/gh/simPod/PhpKafkaBundle/branch/master\n\n[Downloads Image]: https://poser.pugx.org/simpod/kafka-bundle/d/total.svg\n\n[Packagist Image]: https://poser.pugx.org/simpod/kafka-bundle/v/stable.svg\n\n[Packagist Link]: https://packagist.org/packages/simpod/kafka-bundle\n\n[Infection Image]: https://img.shields.io/endpoint?style=flat\u0026url=https%3A%2F%2Fbadge-api.stryker-mutator.io%2Fgithub.com%2FsimPod%2FPhpKafkaBundle%2Fmaster\n\n[Infection Link]: https://dashboard.stryker-mutator.io/reports/github.com/simPod/PhpKafkaBundle/master\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimpod%2Fphpkafkabundle","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsimpod%2Fphpkafkabundle","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimpod%2Fphpkafkabundle/lists"}