43 lines
2.3 KiB
PHP
43 lines
2.3 KiB
PHP
|
<?php
|
||
|
namespace nur\sery\output\std;
|
||
|
|
||
|
use nur\sery\output\IMessenger;
|
||
|
|
||
|
/**
|
||
|
* Class ProxyMessenger: un proxy vers ou un plusieurs instances de IMessenger
|
||
|
*/
|
||
|
class ProxyMessenger implements IMessenger {
|
||
|
function __construct(?IMessenger ...$msgs) {
|
||
|
$this->msgs = [];
|
||
|
foreach ($msgs as $msg) {
|
||
|
if ($msg !== null) $this->msgs[] = $msg;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/** @var IMessenger[] */
|
||
|
protected $msgs;
|
||
|
|
||
|
function resetParams(?array $params=null): void { foreach ($this->msgs as $msg) { $msg->resetParams($params); } }
|
||
|
function clone(?array $params=null): self {
|
||
|
$clone = clone $this;
|
||
|
foreach ($clone->msgs as &$msg) {
|
||
|
$msg = $msg->clone($params);
|
||
|
}; unset($msg);
|
||
|
return $clone;
|
||
|
}
|
||
|
function section($content, ?int $level=null): void { foreach ($this->msgs as $msg) { $msg->section($content, $level); } }
|
||
|
function title($content, ?int $level=null): void { foreach ($this->msgs as $msg) { $msg->title($content, $level); } }
|
||
|
function desc($content, ?int $level=null): void { foreach ($this->msgs as $msg) { $msg->desc($content, $level); } }
|
||
|
function action($content, ?int $level=null): void { foreach ($this->msgs as $msg) { $msg->action($content, $level); } }
|
||
|
function step($content, ?int $level=null): void { foreach ($this->msgs as $msg) { $msg->step($content, $level); } }
|
||
|
function asuccess($content=null): void { foreach ($this->msgs as $msg) { $msg->asuccess($content); } }
|
||
|
function afailure($content=null): void { foreach ($this->msgs as $msg) { $msg->afailure($content); } }
|
||
|
function adone($content=null): void { foreach ($this->msgs as $msg) { $msg->adone($content); } }
|
||
|
function print($content, ?int $level=null): void { foreach ($this->msgs as $msg) { $msg->print($content, $level); } }
|
||
|
function info($content, ?int $level=null): void { foreach ($this->msgs as $msg) { $msg->info($content, $level); } }
|
||
|
function note($content, ?int $level=null): void { foreach ($this->msgs as $msg) { $msg->note($content, $level); } }
|
||
|
function warn($content, ?int $level=null): void { foreach ($this->msgs as $msg) { $msg->warn($content, $level); } }
|
||
|
function error($content, ?int $level=null): void { foreach ($this->msgs as $msg) { $msg->error($content, $level); } }
|
||
|
function end(bool $all=false): void { foreach ($this->msgs as $msg) { $msg->end($all); } }
|
||
|
}
|