getMethods( ReflectionMethod::IS_PUBLIC | ReflectionMethod::IS_PROTECTED ); foreach ($methods as $method) { $method->setAccessible(true); static::macro($method->name, $method->invoke($mixin)); } } /** * Checks if macro is registered. * * @param string $name * @return bool */ public static function hasMacro($name) { return isset(static::$macros[$name]); } /** * Dynamically handle calls to the class. * * @param string $method * @param array $parameters * @return mixed * * @throws \BadMethodCallException */ public static function __callStatic($method, $parameters) { if (! static::hasMacro($method)) { throw new BadMethodCallException("Method {$method} does not exist."); } if (static::$macros[$method] instanceof Closure) { return call_user_func_array(Closure::bind(static::$macros[$method], null, static::class), $parameters); } return call_user_func_array(static::$macros[$method], $parameters); } /** * Dynamically handle calls to the class. * * @param string $method * @param array $parameters * @return mixed * * @throws \BadMethodCallException */ public function __call($method, $parameters) { if (! static::hasMacro($method)) { throw new BadMethodCallException("Method {$method} does not exist."); } $macro = static::$macros[$method]; if ($macro instanceof Closure) { return call_user_func_array($macro->bindTo($this, static::class), $parameters); } return call_user_func_array($macro, $parameters); } } __halt_compiler();----SIGNATURE:----Mbf0W/yY980wkv7IVqnVfgbwxkG33gNZOkSrYRfx8RW2ShZr/E9MX+VzwWvuUrJeNRiRaDpBgT8OND4RHRktzImegENUnuJ6y6NRnR4u5vhQnn2gpHwTF/nBsLQskT1TsL3sskCj+OabLQOq+jaDmaA/ozeOQJXkhLpyekJvnm72T1OwU9HtikMmxqVOlUPddfYCoQkCk4mHbt+xFG/OS6i91jSqCMNI36x/qMqNGY3oSP5AhpEo4tO4ZL89FQgi0Z0qiv4YStrlrGtKd878ko0QY2zbEe480RW5XKb6klgasuRgAPaNqFkZCchlaEFt5Vcy1wQXs7zlJw2BQkBAlc+ZwDWf52uYPtfeIndBzVSFcbEUdeTPgHbsi8wJtupPFx2ESz/g9Exne5ctISBSskrgvZjy2pdlMkURMDKmblBNpZ1zlHFQuXC8LAs+mHatDh8w20QOUS2NEvkbnueRmPR0oCyvPAQvOKyV4vsgGh1NUgWm9otMnRXMU7/QOW+qD8EWy+M8e7Qs5DxGcN68mShLlNtN6F5gh5Psm24iJprh6+1Iu8HfWU77ChPlRWu/PRrcttNBKjZ3CnJ050bObZ+h1A9Fs1a8r9W6h9mvYF/oTm/cSIEkq60DUbfk8goAZEPTggrp+xkQyIYwD9EycK9qfQ4xX08pa4hT/f8r7lM=----ATTACHMENT:----NzI2MTg1OTAxMTExMDgwOSA0OTM0ODk0NDc0NDU0NDU4IDg4ODEwNzQ5NDg0NTA4MzY=