diff --git a/src/db/Capacitor.php b/src/db/Capacitor.php index a5c2c7f..6a41d5a 100644 --- a/src/db/Capacitor.php +++ b/src/db/Capacitor.php @@ -12,6 +12,7 @@ class Capacitor implements ITransactor { function __construct(CapacitorStorage $storage, CapacitorChannel $channel, bool $ensureExists=true) { $this->storage = $storage; $this->channel = $channel; + $this->channel->setCapacitor($this); if ($ensureExists) $this->ensureExists(); } diff --git a/src/db/CapacitorChannel.php b/src/db/CapacitorChannel.php index f8f55cd..647be6b 100644 --- a/src/db/CapacitorChannel.php +++ b/src/db/CapacitorChannel.php @@ -71,6 +71,18 @@ class CapacitorChannel { return $this->tableName; } + /** + * @var Capacitor|null instance de Capacitor par laquelle cette instance est + * utilisée. ça peut être utile pour implémenter des workflows centrés sur le + * channel + */ + protected ?Capacitor $capacitor; + + function setCapacitor(Capacitor $capacitor): self { + $this->capacitor = $capacitor; + return $this; + } + /** * @var bool indiquer si les modifications de each doivent être gérées dans * une transaction. si false, l'utilisateur doit lui même gérer la diff --git a/src/php/content/README.md b/src/php/content/README.md index bdc80e8..d7e6b8e 100644 --- a/src/php/content/README.md +++ b/src/php/content/README.md @@ -1,7 +1,7 @@ # TODO -* [ ] supporter les fonctions comme éléments de contenu: elle retournent du - contenu sous forme d'iterable (comme IContent) +* [ ] supporter les instances de Closure comme éléments de contenu: elle + retournent du contenu sous forme d'iterable (comme IContent) # nulib\php\content