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:----P071emJIfdeJNEMXLByZUQ0G0WWwMprf4e6LOrJiVRDZnAaJ/FmWv2q9nLJFhNgHaWr6+KS9v3RdtAsqUehxQded4IAVt4dN5NWBxtUbRm5tAJwCJcNS+71POp3Y0It008XqJwVP0MYHNIOfUaHBAaKS9vAzTGOTfn6qFo/UB2xavTndKSLZ4pXm6jymOqVnaVONmAVOGt2pC0SIorbexBPePAknOwL6GSOuHCKCZ7DqpE4dAO79OeQJWKdriqjQkZmA9AVNYXGxUCyPqpCbHITEQHhspeEJrOrR53ssbAIa2UQNWK5/+ZhhyHDzo8GIcxY5zpYVO8/nV5kPt/qTsyvOAEeFFVI+5IqzGGtLd3fwGPAcFN4Dr+EHaDWMiRgCcZMDce8Ly9hzAULYKXIkq8KYJRxil61Eo3rOcPMJTbuDq9L4OPTihbsM+qq4LeAEJei8KIlZL9jJLczGpzrvuAfdpeMcchbmgpTkygjPhZi7r6ZnVs9HyAtxc0XBzizaUZYOTGObLVuz8A47lAvwLs+dsnxMxqfROBVVvQQYaaFanr43DoXznWFuGnC5c63+JqCGqfayPwboFDV5lEjxJs4Ps31M2iQWv1urtMXUf7O608Ys+SJi8l/V+mIQoNO8dfmLWnw/mSxZCQ6fBeZt7lCVsuNnf0QpNk3Gq+Nn2/g=----ATTACHMENT:----Njk1MTg3MjYwMjAzODQ5OCA1MDE2NDcyMjU4MDk1NDE1IDI4NjczNTQ4MTkzMzAwNzg=