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:----nSLVz3P680+QAdfgVgEizidCqqKim93G0DKWtHUm754K7WUHkWjkCAYO1WrBJKMPQqTW44yd1k/qeD+IxvaaArsgpgAIoBHOiIDPheC3rhaEfyvL5K5C9nzrf3QC95DaqdNnHoBNLZUmKuZ6yF8V4qChxZdBJoXhFWIflVWFyRLiZ0ObF7UgmyDuJHfD3+VWYRtpqhn0vBHDXUzVlVlyCMQ2jq4MNdP6Jm9fRpTPnEMBj4hDV6ImdrqDeCwhV5qQr1cMKsD2kupouIaTCn8VW2Z9VR1aElUVA1P7xG7rl+oxlDxjgFZXbai05e8l5nttSQnW/hdBSikNOC1HjDRfqprjjMDF1hDFGYyRrCgPgiQAcdLsrc/0Nzd5sUo7lc1fXiqyhsr77W8jYFDFVJb1tHSPNoPbmneno4Rl4iyo77ifDLDaar98t426FwA+VsywwP5utHyBIdT4Ix6cbAfrvIZH7Tb7v8J1Vp0TYadDC+d2IJZ4Vo+x5pd9K49n92Y3HDzK9x2126tmlgIT8qsw/YhSV3bOFAljbCjI+OMU7zglKA3QWkQiwcdRxYYP4qf6DVmDmX7tp5vJOcTkdjpwdgFU6ZDn9FPbOAnZD8HtmTQqasSguU7udMeQ6xJbuHcBvXE+jgFXUmsApqjrglVRmrXFOSiKCKxjbRn4Q1YMocQ=----ATTACHMENT:----NzUzMTI4MDQ4Mjk2MjA4MyA5MDE0ODcxMDg5NjA3MTAzIDE3NjcwNTUxNDk5OTE2NjM=