bindTo($this, static::class), $parameters); } return call_user_func_array(static::$macros[$method], $parameters); } public static function macro($name, callable $macro) { static::$macros[$name] = $macro; } public static function hasMacro($name) { return isset(static::$macros[$name]); } }