Sms
Send SMS
Send SMS
$this->get('sms', Array(
'from' => 'myPhone',
'to' => 'yourPhone',
'body' => 'SMS message'
))->send();
Send an SMS to a given number:
$this->get('sms', Array(
'from' => 'myPhone',
'to' => 'yourPhone',
'body' => 'SMS message'
))->send();
Or use set methods:
$this->get('sms')
->setTo('+358408255925')
->setMessage('SMS message')
->send();
You can set the numbers by giving the corresponding fields:
$this->get('sms')
->setFrom($Order->seller->phone)
->setTo($Order->client->phone)
->setMessage("You got our offer, didn't you?")
->addMessage("Regards: ",$Order->seller->name)
->send();
All value adding methods (setTo() addTo()) can have multiple arguments. These examples will add numbers from both variables (if they have a valid phone number in them).
$Sms = $this->get('sms');
$Sms->setTo( $customerPhone , $sellerPhone );
$Sms->addTo( $customerPhone , $sellerPhone );
Address field arguments are interpreted through an phone number validator -method. Numbers can be set in array or comma/semicolon/colon -separated string. Different input forms come in handy if addresses are already in one of those formats.
All examples below add two numbers into the 'to' -field:
$Sms = $this->get('sms');
$Sms->setTo('+358 40 8255 925','+358 40 1234 567');
$Sms->setTo('+358 40 8255 925,+358 40 1234 567');
$Sms->setTo('+358 40 8255 925:+358 40 1234 567');
$Sms->setTo('+358 40 8255 925;+358 40 1234 567');
$Sms->setTo(Array('+358 40 8255 925','+358 40 1234 567'));
setTo() will clear the old values and add new ones, IF given argument(s) has at least one valid number. If it doesn't, the old value will be conserved.
$Sms = $this->get('sms')
->setTo( $validNumber , $validNumber2 )
->setTo( $invalidNumber );
-->
Will send to: $validNumber, $validNumber2
Because $invalidNumber is ignored.
$Sms = $this->get('sms')
->setTo( $validNumber )
->setTo( $validNumber2 );
-->
Will send to: $validNumber2
Because $validNumber is overwritten by $validNumber2.
$Sms = $this->get('sms')
->setTo( $validNumber )
->setTo( $invalidNumber , $validNumber2 );
-->
Will send to: $validNumber2
Because sencond to() has a valid number in $validNumber2 and $validNumber is overwritten. $invalidNumber is ignored.
$Sms = $this->get('sms')
->setTo( $validNumber , $validNumber2 )
->setTo( $validNumber3 );
-->
Will send to: $validNumber3
Because $validNumber and $validNumber2 are overwritten by $validNumber3.
$Sms = $this->get('sms')
->setTo( $validNumber )
->setTo( $validNumber2 , $validNumber3 );
-->
Will send to: $validNumber2 , $validNumber3
Because $validNumber is overwritten by $validNumber2 and $validNumber3
Values can be added the same way also for the message.
$Sms = $this->get('sms')
->setMessage('Message base','Additional information');
-->
Message will be:
Subject base
Additional information
Multiple values will be combined using the field's delimiter. Default delimiter can be changed with setFieldnameDelimiter() -method.
$Sms = $this->get('sms')
->setMessageDelimiter(': ')
->setMessage('Message base','Additional information');
-->
Message will be: 'Subject base: Additional information'
Method | Return value | Description |
---|---|---|
send() | bool | Sends the message |
::getPhoneNumbers(val) | array | Extracts all valid phone numbers from given argument(s). Argument can be array(val,val) or string: 'val,val', 'val:val', 'val:val'. |
All fields have methods that act in the same way. (Replace the 'Fieldname' with the field that you want to handle). Methods that return 'this' are chainable.
Method | Return value | Description |
---|---|---|
setData(array) | this | Set to, from etc. values from associative array. |
fieldname(val) | this | -> setFieldname(val) |
fieldname() | array | -> getFieldname() |
getFieldname() | array | Get values in array. |
setFieldname(val) | this | Clears value and sets new value(s), IF valid value is given. |
addFieldname(val) | this | Adds valid value(s). |
clearFieldname() | this | Clears all values in field. |
hasFieldname() | bool | Return true if field has a value. |
countFieldname() | int | Return number of values set to field. |
setFieldnameDelimiter() | this | Set a delimiter used to combine two or more arguments. |
Field | Type | Delimiter | Description |
---|---|---|---|
from | string | Sender name or phone number. | |
to | number | comma | Receivers phone number(s). |
body | string | newline | Message text. |
footer | string | space | Message end text. |
description | string | newline | Additional description (Is saved to log) |
reference | string | newline | Additional reference (Is saved to log) |
The class supports alternative field names (for semantic and language reasons). It makes no difference whether you use the original or the alternative name. ie. $sms->setFrom( $phone ) is same as writing $sms->setSender( $phone ).
Field | Optional names | Finnish equivalents |
---|---|---|
from | sender | lahettaja |
to | receiver,number | vastaanottaja |
body | message, content, text | viesti |
footer |