/** Datei: library/ARUNOX/API/PHP/Traits/Helpers/Controller.php **/ * @copyright 2025 ARUNOX * @version 1.1.0 * * @since 1.0.0 File is created */ namespace ARUNOX\API\PHP\Traits\Helpers; use ReflectionClass; use ARUNOX\Autoloader; trait Controller { /* ### PUBLIC STATIC FUNCTIONS ################################## # */ public static function getControllerClass() : string { return Autoloader::find( static::getNamespace(), "controller" ); } public static function callControllerClass( string $method, ...$args ) : mixed { return static::getControllerClass()::{$method}( ...$args ); } /* ### PRIVAT STATIC FUNCTIONS ################################## # */ private static function getNamespace() : string { $reflection = new ReflectionClass( static::class ); return $reflection->getNamespaceName(); } } /** Datei: library/ARUNOX/API/PHP/Traits/Enums/AsOptions.php **/ * @copyright 2025 ARUNOX * @version 1.1.0 * * @since 1.0.0 File is created */ namespace ARUNOX\API\PHP\Traits\Enums; trait AsOptions { /* ### PUBLIC STATIC FUNCTIONS ################################## # */ public static function getAsOptions() : array { $options = []; foreach( static::cases() as $color ) { $options[ $color->value ] = [ "label" => $color->name, "value" => $color->value, ]; } return $options; } }