Wallogit.com
2017 © Pedro PelΓ‘ez
Send sms from SmsUkraine
, (*1)
ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ Π΄Π°Π½Π½ΡΠΉ ΠΏΠ°ΠΊΠ΅Ρ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π»Π΅Π³ΠΊΠΎ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°ΡΡ SMS ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ Π² Π²Π°ΡΠ΅ Laravel-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π΄Π»Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΠΊΠΎΡΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ΅ΡΠ²ΠΈΡ "SMS Ukraine"., (*2)
ΠΠ»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ° Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:, (*3)
$ composer require kagatan/sms-ukraine
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΉ
composer. ΠΠ»Ρ Π΅Π³ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ ΠΏΠΎ Π΄Π°Π½Π½ΠΎΠΉ ΡΡΡΠ»ΠΊΠ΅., (*4)
ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Laravel Π²Π΅ΡΡΠΈΠΈ 5.5 ΠΈ Π²ΡΡΠ΅, ΡΠΎ ΡΠ΅ΡΠ²ΠΈΡ-ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ° Π±ΡΠ΄Π΅Ρ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ. Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΡΠ²ΠΈΡ-ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅Ρ Π² ΡΠ΅ΠΊΡΠΈΠΈ providers ΡΠ°ΠΉΠ»Π° ./config/app.php:, (*5)
'providers' => [
// ...
Kagatan\SmsUkraine\SmsUkraineServiceProvider::class,
]
ΠΠΎΠ±Π°Π²ΠΈΠΌ ΡΠ°ΡΠ°Π΄:, (*6)
'aliases' => [
...
'SmsUkraine' => Kagatan\SmsUkraine\Facades\SmsUkraine::class
]
ΠΠΎΠ±Π°Π²ΠΈΠΌ Π² ΡΠ°ΠΉΠ» config/services.php :, (*7)
// config/services.php
...
'sms-ukraine' => [
'key' => function_exists('env') ? env('SMSUKRAINE_KEY', '') : '',
'login' => function_exists('env') ? env('SMSUKRAINE_LOGIN', '') : '',
'password' => function_exists('env') ? env('SMSUKRAINE_PASSWORD', '') : '',
'from' => function_exists('env') ? env('SMSUKRAINE_FROM', '') : '',
],
...
ΠΠ»Ρ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠ°:, (*8)
php artisan vendor:publish --provider="Kagatan\SmsUkraine\SmsUkraineServiceProvider"
ΠΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ°ΠΉΠ» ./.env Π΄ΠΎΠ±Π°Π²ΠΈΠ² ΠΊΠ»ΡΡΠΈ, (*9)
SMSUKRAINE_KEY=xxxxxxxxxxxxxxxxxxxxxx SMSUKRAINE_FROM=SENDER-NAME
ΠΡΠ»ΠΈ Ρ ΠΎΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ²ΡΠ·ΠΊΡ Π»ΠΎΠ³ΠΈΠ½/ΠΏΠ°ΡΠΎΠ»Ρ ΡΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠ»ΡΡΠΈ:, (*10)
SMSUKRAINE_LOGIN=xxxxx SMSUKRAINE_PASSWORD=xxxxx SMSUKRAINE_FROM=SENDER-NAME
composer update kagatan/sms-ukraine
ΠΠ°Π·ΠΎΠ²ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ SMS ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π° Π½ΠΎΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΉ Π² Laravel-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ :, (*11)
ΠΠΎΡΡΡΠΏΠ½ΡΠ΅ ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄Ρ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° SmsUkraineMessage:, (*12)
| ΠΠΌΡ ΠΌΠ΅ΡΠΎΠ΄Π° | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
|---|---|
from() |
ΠΠΌΡ ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅Π»Ρ (ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ) |
to() |
ΠΠΎΠΌΠ΅Ρ ΡΠ΅Π»Π΅ΡΠΎΠ½Π° ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Ρ (ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ) |
content() |
Π’Π΅ΠΊΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ |
sendAt() |
ΠΠ°ΡΠ° Π΄ΠΎΡΡΠ°Π²ΠΊΠΈ (ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ) |
key() |
API ΠΊΠ»ΡΡ, Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΈΠ· config(ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ) |
login() |
API Π»ΠΎΠ³ΠΈΠ½, Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΈΠ· config(ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ) |
password() |
API ΠΏΠ°ΡΠΎΠ»Ρ, Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΈΠ· config(ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ) |
toJson() |
ΠΠ±ΡΠ΅ΠΊΡ Π½Π° Π²ΡΡ ΠΎΠ΄Π΅ Π² JSON |
toArray() |
ΠΠ±ΡΠ΅ΠΊΡ Π½Π° Π²ΡΡ ΠΎΠ΄Π΅ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ |
ΠΡΠΈΠΌΠ΅Ρ ΠΊΠ»Π°ΡΡΠ° ΠΎΠΏΠΎΠ²Π΅ΡΠ΅Π½ΠΈΡ:, (*13)
<?php
use Illuminate\Notifications\Notification;
use Kagatan\SmsUkraine\SmsUkraineChannel;
use Kagatan\SmsUkraine\SmsUkraineMessage;
/**
* Notification object.
*/
class InvoicePaid extends Notification
{
/**
* Get the notification channels.
*
* @param mixed $notifiable
*
* @return array|string
*/
public function via($notifiable)
{
return [SmsUkraineChannel::class];
}
/**
* Get the SMS Ukraine Message representation of the notification.
*
* @param mixed $notifiable
*
* @return SmsUkraineMessage
*/
public function toSmsUkraine($notifiable)
{
return SmsUkraineMessage::create()
->content('Some SMS notification message');
}
}
Π ΡΠ²ΠΎΠ΅ΠΉ Π½ΠΎΡΠΈΡΠΈΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄ routeNotificationForSmsUkraine(), ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π½ΠΎΠΌΠ΅Ρ ΡΠ΅Π»Π΅ΡΠΎΠ½Π° ΠΈΠ»ΠΈ ΠΌΠ°ΡΡΠΈΠ² ΡΠ΅Π»Π΅ΡΠΎΠ½Π½ΡΡ
Π½ΠΎΠΌΠ΅ΡΠΎΠ²., (*14)
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Notifications\Notifiable;
class User extends Model
{
use Notifiable;
/**
* Route notifications for the SmsUkraine channel.
*
* @param $notifiable
* @return string
*/
public function routeNotificationForSmsUkraine($notifiable)
{
return $this->phone;
}
}
ΠΡΠΈΠΌΠ΅Ρ c ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Notifiable Trait:, (*15)
$user->notify(new InvoicePaid());
ΠΡΠΈΠΌΠ΅Ρ c ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Notification Facade:, (*16)
Notification::send($users, new InvoicePaid());
ΠΡΠΈΠΌΠ΅Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ SMS Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ°ΡΠ°Π΄ΠΎΠ²(Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Notification):, (*17)
<?php
use Kagatan\SmsUkraine\Facades\SmsUkraine;
use Kagatan\SmsUkraine\SmsUkraineMessage;
public function test(){
$message = SmsUkraineMessage::create()
->content("Example sending SMS.")
->to("380987654210")
->from("WiFi-POINT")
->toArray();
$id = SmsUkraine::send($message);
echo $id;
}
ΠΠΎΠ΄ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ° ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ MIT., (*18)