23 lines
713 B
PHP
23 lines
713 B
PHP
<?php
|
|||
|
|
|
||
|
|
declare(strict_types=1);
|
||
|
|
|
||
|
|
namespace PhpQml\Bridge;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Translates a Doctrine entity lifecycle event into the bridge's Mercure
|
||
|
|
* envelopes (collection topic + entity topic) per PLAN.md §6.
|
||
|
|
*
|
||
|
|
* The public API surface of `ModelPublisher`. App code that wants to
|
||
|
|
* republish a model change manually (rare — the Doctrine listener covers
|
||
|
|
* the common case) should typehint this interface.
|
||
|
|
*/
|
||
|
|
interface ModelPublisherInterface
|
||
|
|
{
|
||
|
|
/**
|
||
|
|
* Publish an `upsert` / `delete` / `replace` envelope for the given
|
||
|
|
* `#[BridgeResource]` entity. Entities not tagged with the attribute
|
||
|
|
* are silently ignored.
|
||
|
|
*/
|
||
|
|
public function publishEntityChange(object $entity, BridgeOp $op): void;
|
||
|
|
}
|