rosavox/lib/alveolata/observer/wrapper-class.php
2025-05-23 07:33:29 +00:00

42 lines
773 B
PHP

<?php
namespace alveolata\observer;
require_once(DIR_ALVEOLATA . '/observer/functions.php');
/**
*/
class class_observer
{
/**
* @var struct
* @author Christian Fraß <frass@greenscale.de>
*/
private $subject;
/**
* @author Christian Fraß <frass@greenscale.de>
*/
private function __construct(struct $subject) {$this->subject = $subject;}
/**
* @author Christian Fraß <frass@greenscale.de>
*/
public static function make() : class_observer {return (new class_observer(make()));}
/**
* implementations
*
* @author Christian Fraß <frass@greenscale.de>
*/
public function register(\Closure $procedure) {return register($this->subject, $procedure);}
public function notify($data) {notify($this->subject, $data);}
}
?>