PHP examples: add a message envelope producer and consumer
I maintainer di solito rispondono entro 1 giorno
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 75/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- php
- Ambito
- developer-experience
Direzione di ricerca
Start with examples/src/common.php for the existing helpers (iggy_client(), ensure_stream_and_topic(), send_payloads(), example_payloads()), then read the order types in examples/node/src/message-envelope/. Write examples/php/message-envelope/producer.php and consumer.php, with the consumer switching on message_type and logging and skipping unknown types. Done when both scripts run against a fresh server using the extension from foreign/php and the README has a Message Envelopes section.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Description
The Rust, Node, Java and C# examples show the message envelope pattern, where each payload is wrapped in a JSON object with a message_type and a payload string so one topic can carry several message kinds. The PHP examples have only getting-started and basic.
Affected area / component
PHP examples
Proposed solution
Add examples/php/message-envelope/producer.php and consumer.php, and a "Message Envelopes" section in examples/php/README.md.
- The helpers in
examples/php/src/common.php(iggy_client(),ensure_stream_and_topic(),send_payloads(),example_payloads()) already do the set-up, so the work is the envelope encoding (json_encode) and the consumer'smatchonmessage_type. - Take the order types from
examples/node/src/message-envelope/. - A message with an unknown type is logged and skipped.
New PHP SDK calls are out of scope (#3302 tracks PHP parity).
How to test: build the extension with cargo build in foreign/php, start a fresh server, and run both scripts with the same -d extension="${PHP_IGGY_EXTENSION:-...}" form the README's other commands use.
Good first issue
- I think this could be a good first issue for a new contributor
- Lingua principale
- Rust
- Stelle
- 5.2k
- Fork
- 502
- Merge medio
- 3g 5h
- PR unite (30g)
- 152
Preparare l'ambiente
Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.
- Include un Dockerfile o un file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di apache/iggy
-
Go examples: add a message envelope producer and consumerForse già presa @ThunderGod77 l’ha presa 1 giorno fa. Apertago good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
apache/iggy#4694 · 3 commenti · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
HTTP client treats a consumer group as a plain consumerForse già presa @mohitduhan19 l’ha presa 19 giorni fa. Apertabug rust server
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
apache/iggy#4408 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Add the fail-fast connection option to the Rust and Python quick-startsForse già presa @QIW9 l’ha presa 7 giorni fa. Apertadocs good first issue
Difficoltà 1/5 1-3 ore Idoneità per principianti 92/100
apache/iggy#4261 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
bug python sdk
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
apache/iggy#3748 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
bug(connectors): one invalid row fails the whole iceberg sink batchForse già presa @numinnex l’ha presa oggi. Apertabug connectors
apache/iggy#4724 · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
riverqueue/river#1576 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
stadelmanma/fitparse-rs#64 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 4 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno