for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Messenger;
use Messenger\SMSProviders\SMSProvider;
class SMSMessenger extends Messenger
{
/**
* Sends an sms message with a given provider if they have been registered.
*
* @param string $providerName
* @param string $to
* @param string $message
* @return array
*/
public function sendMessageWith(string $providerName, string $to, string $message)
$result = array(
'provider' => $providerName,
'result' => [
'sent' => false
]
);
if (isset($this->smsProviders[$providerName])) {
$provider = $this->smsProviders[$providerName];
if (!$provider->isValid()) {
$result['result']['error'] = 'Invalid credentials';
return $result;
}
$result['result'] = $provider->send($to, $message);
* Sends an sms message.
public function sendMessage(string $to, string $message)
'provider' => 'Empty providers',
foreach ($this->smsProviders() as $name => $provider) {
$result['provider'] = $name;
} else {
* Returns all sms providers.
* @return SMSProvider[]
public function smsProviders()
return $this->smsProviders;