Toplan\PhpSms\Sms::getAgent PHP Метод

getAgent() публичный статический Метод

Get a sms agent instance by agent name, if null, will try to create a new agent instance.
public static getAgent ( string $name ) : mixed
$name string
Результат mixed
    public static function getAgent($name)
    {
        if (!self::hasAgent($name)) {
            $scheme = self::scheme($name);
            $data = self::parseScheme(is_array($scheme) ? $scheme : [$scheme]);
            $data = array_merge(self::config($name), $data);
            $className = $data['agentClass'] ?: 'Toplan\\PhpSms\\' . $name . 'Agent';
            if (is_callable($data['sendSms']) || is_callable($data['voiceVerify'])) {
                self::$agents[$name] = new ParasiticAgent($data);
            } elseif (class_exists($className)) {
                self::$agents[$name] = new $className($data);
            } else {
                throw new PhpSmsException("Dont support [{$name}] agent.");
            }
        }
        return self::$agents[$name];
    }

Usage Example

Пример #1
0
 public function testGetAgent()
 {
     $agent = Sms::getAgent('Log');
     $this->assertInstanceOf('Toplan\\PhpSms\\LogAgent', $agent);
     $luosimao = Sms::getAgent('Luosimao');
     $this->assertInstanceOf('Toplan\\PhpSms\\LuosimaoAgent', $luosimao);
 }
All Usage Examples Of Toplan\PhpSms\Sms::getAgent