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

47 lines
1.2 KiB
PHP

<?php
namespace alveolata\api;
// require_once(DIR_ALVEOLATA . '/definitions.php');
require_once(DIR_ALVEOLATA . '/api/functions.php');
/**
* @author Christian Fraß <frass@greenscale.de>
*/
class class_api
{
/**
* @var struct_subject
* @author Christian Fraß <frass@greenscale.de>
*/
private $subject;
/**
* @author Christian Fraß <frass@greenscale.de>
*/
private function __construct(struct_subject $subject) {$this->subject = $subject;}
/**
* @author Christian Fraß <frass@greenscale.de>
*/
public static function make() : class_api {return (new class_api(make()));}
/**
* implementations
*
* @author Christian Fraß <frass@greenscale.de>
*/
public function register(array $data_given) {register($this->subject, $data_given);}
public function has(string $action_name) : bool {return has($this->subject, $action_name);}
public function may(string $action_name, array $options = []) : array {return may($this->subject, $action_name, $options);}
public function call(string $action_name, array $options = []) {return call($this->subject, $action_name, $options);}
public function doc(array $options = []) : string {return doc($this->subject, $options);}
}
?>