Eva\EvaEngine\Engine::diSmsSender PHP Method

diSmsSender() public method

public diSmsSender ( )
    public function diSmsSender()
    {
        $config = $this->getDI()->getConfig();
        $adapterMapping = array('submail' => 'Eva\\EvaSms\\Providers\\Submail');
        $adapterKey = $config->smsSender->provider;
        $adapterKey = false === strpos($adapterKey, '\\') ? strtolower($adapterKey) : $adapterKey;
        $adapterClass = empty($adapterMapping[$adapterKey]) ? $adapterKey : $adapterMapping[$adapterKey];
        if (false === class_exists($adapterClass)) {
            throw new Exception\RuntimeException(sprintf('No sms provider found by %s', $adapterClass));
        }
        $sender = new Sender();
        $sender->setProvider(new $adapterClass($config->smsSender->appid, $config->smsSender->appkey));
        if ($config->smsSender->timeout) {
            $sender::setDefaultTimeout($config->smsSender->timeout);
        }
        return $sender;
    }