47 lines
1.2 KiB
PHP
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);}
|
|
|
|
}
|
|
|
|
?>
|