Kai Ole Hartwig

sylius-agent-contracts — das Fundament, das selbst nichts ausliefert.

Provider-Interfaces, Registries und der kanal-bewusste Request-Kontext, auf denen die übrigen Bundles der Familie aufsetzen. Das Paket bringt keinen einzigen Endpunkt mit — es legt nur fest, wie die anderen miteinander reden. Wer eines der Interfaces implementiert, ist damit angemeldet, ohne eine Zeile Konfiguration.

Ein Paket ohne Endpunkte kann auch keine kaputt machen

sylius-agent-contracts ist Abhängigkeit aller übrigen Bundles der Familie. Brächte es selbst Routen mit, würde jede Installation eines beliebigen Einzelpakets automatisch Endpunkte veröffentlichen, die niemand angefordert hat. Deshalb enthält es ausschließlich Interfaces, Registries und den Request-Kontext — was ein Shop nach außen anbietet, entscheidet allein, welche der anderen Bundles installiert sind.

Die Registrierung läuft über den Container statt über eine Konfigurationsdatei: Eine Klasse, die eines der Provider-Interfaces implementiert, wird automatisch eingesammelt — auch dann, wenn sie im eigenen App-Namespace unter App\ liegt und nicht in einem Bundle. Der Fehler, den das vermeidet, ist der unauffälligste überhaupt: Ein Provider wird geschrieben, funktioniert in seinem Unit-Test, wird aber nie eingetragen — und fehlt danach still in der Ausgabe, ohne dass irgendwo ein Fehler auftaucht.

Der Request-Kontext trägt Channel, Base-URL und Locale, und alle Cache-Keys gehen durch ihn. Das ist keine Bequemlichkeit, sondern die Trennlinie zwischen den Kanälen: Wer einen Cache-Key aus dem Dokumententyp allein bildet, liefert dem zweiten Kanal die Dokumente des ersten aus — mit dessen Base-URL, dessen Sprache und dessen Sortiment. Solche Fehler treten in einer Ein-Kanal-Entwicklungsumgebung nie auf und in der Produktion sofort.

Interfaces und Kontext — der Rest kommt aus den anderen Paketen

Sylius: 2.0+ · PHP: 8.2+ · Lizenz: MIT · Stand: 1.2.0

Quellcode & Doku

Composer-Paket

MIT · Sylius 2.0+ · PHP 8.2+

composer require koh/sylius-agent-contracts

Gebaut, getestet und unter MIT veröffentlicht. Die öffentliche Distribution über Packagist wird vorbereitet (coming soon).

Teil der Familie

MIT

Dieses Paket gehört zu koh/sylius-agent-ready — siebzehn Bundles, die einen Sylius-Shop für KI-Agenten benutzbar machen. Jedes ist einzeln einsetzbar.

Zur Übersicht
Teil der Familie