public static function __callStatic($name, $args)
{
$name = $name === 'beforeSend' ? 'beforeRun' : $name;
$name = $name === 'afterSend' ? 'afterRun' : $name;
$name = $name === 'beforeAgentSend' ? 'beforeDriverRun' : $name;
$name = $name === 'afterAgentSend' ? 'afterDriverRun' : $name;
if (in_array($name, self::$availableHooks)) {
$handler = $args[0];
$override = isset($args[1]) ? (bool) $args[1] : false;
if (is_callable($handler)) {
$task = self::getTask();
$task->hook($name, $handler, $override);
} else {
throw new PhpSmsException("Please give method {$name}() a callable parameter");
}
} else {
throw new PhpSmsException("Dont find method {$name}()");
}
}