Sms Component
An SMS component for PHP applications.
Installation
composer.json
{
"require": {
"yoqut/sms": "~2.0"
}
}
php composer.phar install
or
php composer.phar require yoqut/sms
Usage
// Imports
use Yoqut\Component\Sms\Factory\SmsFactory;
use Yoqut\Component\Sms\Factory\GatewayFactory;
use Yoqut\Component\Sms\Gateway\Matcher;
use Yoqut\Component\Sms\Sender\Sender;
// Create a new SMS
$sms = SmsFactory::create();
$sms->setSender('Sender');
$sms->setRecipient('5550100');
$sms->setMessage('Message');
// Create a new gateway
// Provide host, port, username, password, service numbers (optional),
// prefix codes (optional) and configurations (optional)
$gateway = GatewayFactory::create(
'localhost',
2775,
'username',
'password',
array(
'5555', // Production
'4444' // Development
),
array('555')
);
// Array of gateways
$gateways = array($gateway);
// Create a new gateway matcher
$matcher = new Matcher($gateways);
$matchedGateway = $matcher->match($sms);
// Print the matched gateway
echo '<pre>';
print_r($matchedGateway);
echo '</pre>';
if ($matchedGateway) {
// Use one of the gateway service numbers as a sender if needed
$serviceNumbers = $gateway->getServiceNumbers();
$sms->setSender($serviceNumbers[0]);
// Send an SMS to the matched gateway
$sender = new Sender();
$messageId = $sender->send($sms, $matchedGateway);
echo $messageId;
}
Tests
vendor/phpspec/phpspec/bin/phpspec run
License
Authors
The component was created by Sukhrob Khakimov. See the list of contributors.