2017 © Pedro PelΓ‘ez
 

library sms-fly

Send sms from sms-fly

image

kagatan/sms-fly

Send sms from sms-fly

  • Wednesday, July 4, 2018
  • by kagatan
  • Repository
  • 0 Watchers
  • 0 Stars
  • 3 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 1 Versions
  • 0 % Grown

The README.md

Laravel , (*1)

Канал ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ для сСрвиса "SMS-fly"

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ Π²Ρ‹ смоТСтС Π»Π΅Π³ΠΊΠΎ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ SMS увСдомлСния Π² вашС Laravel-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ сСрвис "SMS-fly"., (*2)

Установка

Для установки Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:, (*3)

$ composer require kagatan/sms-fly

Для этого Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ установлСнный composer. Для Π΅Π³ΠΎ установки ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ ΠΏΠΎ Π΄Π°Π½Π½ΠΎΠΉ ссылкС., (*4)

Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Laravel вСрсии 5.5 ΠΈ Π²Ρ‹ΡˆΠ΅, Ρ‚ΠΎ сСрвис-ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π±ΡƒΠ΄Π΅Ρ‚ зарСгистрирован автоматичСски. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сСрвис-ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€ Π² сСкции providers Ρ„Π°ΠΉΠ»Π° ./config/app.php:, (*5)

'providers' => [
    // ...
   Kagatan\SmsFly\SmsFlyServiceProvider::class,
]

Π”ΠΎΠ±Π°Π²ΠΈΠΌ фасад:, (*6)

 'aliases' => [
    ...
    'SmsFly' => Kagatan\SmsFly\Facades\SmsFly::class
]

Π”ΠΎΠ±Π°Π²ΠΈΠΌ Π² Ρ„Π°ΠΉΠ» config/services.php :, (*7)

// config/services.php
...
'sms-fly' => [
        'login'    => function_exists('env') ? env('SMSFLY_LOGIN', '') : '',
        'password' => function_exists('env') ? env('SMSFLY_PASSWORD', '') : '',
        'from'     => function_exists('env') ? env('SMSFLY_FROM', '') : '',
    ],
...

Для ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Π°:, (*8)

php artisan vendor:publish --provider="Kagatan\SmsFly\SmsFlyServiceProvider"

Настройка

ПослС установки Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» ./.env Π΄ΠΎΠ±Π°Π²ΠΈΠ² ΠΊΠ»ΡŽΡ‡ΠΈ, (*9)

SMSFLY_LOGIN=xxxxx

SMSFLY_PASSWORD=xxxxx

SMSFLY_FROM=SENDER-NAME

Upgrading

composer update kagatan/sms-fly

ИспользованиС

Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ SMS ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ с использованиСм Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π° Π½ΠΎΡ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΉ Π² Laravel-прилоТСниях:, (*10)

ДоступныС ΠΊ использованию ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° SmsFlyMessage:, (*11)

Имя ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ОписаниС
from() Имя отправитСля (ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ)
to() НомСр Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π° получатСля (ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ)
content() ВСкст сообщСния
startTime() ВрСмя Π½Π°Ρ‡Π°Π»Π° ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ сообщСния (ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ)
endTime() ВрСмя окончания ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ сообщСния (ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ)
lifeTime() ВрСмя, Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ доставки сообщСния Π°Π±ΠΎΠ½Π΅Π½Ρ‚Ρƒ Π² часах (ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ)
rate() Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ сообщСния(ΠΉ) Π² количСствС сообщСний Π² ΠΌΠΈΠ½ΡƒΡ‚Ρƒ (ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ)
desc() ОписаниС рассылки (отобраТаСтся Π² Π²Π΅Π± интСрфСйсС). (ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ)
login() API Π»ΠΎΠ³ΠΈΠ½, для пСрСопрСдСлСния ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΈΠ· config(ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ)
password() API ΠΏΠ°Ρ€ΠΎΠ»ΡŒ, для пСрСопрСдСлСния ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΈΠ· config(ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ)
toJson() ΠžΠ±ΡŒΠ΅ΠΊΡ‚ Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ Π² JSON
toArray() ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ Π² массивС

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ класса оповСщСния:, (*12)

<?php

use Illuminate\Notifications\Notification;
use Kagatan\SmsFly\SmsFlyChannel;
use Kagatan\SmsFly\SmsFlyMessage;

/**
 * Notification object.
 */
class InvoicePaid extends Notification
{
    /**
     * Get the notification channels.
     *
     * @param mixed $notifiable
     *
     * @return array|string
     */
    public function via($notifiable)
    {
        return [SmsFlyChannel::class];
    }

    /**
     * Get the SMS Fly Message representation of the notification.
     *
     * @param mixed $notifiable
     *
     * @return SmsFlyMessage
     */
    public function toSmsFly($notifiable)
    {
        return SmsFlyMessage::create()
            ->content('Some SMS notification message');
    }
}

Π’ своСй Π½ΠΎΡ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ routeNotificationForSmsFly(), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π½ΠΎΠΌΠ΅Ρ€ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π° ΠΈΠ»ΠΈ массив Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π½Ρ‹Ρ… Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ²., (*13)

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;
use Illuminate\Notifications\Notifiable;

class User extends Model
{
    use Notifiable;

    /**
     * Route notifications for the SmsFly channel.
     *
     * @param $notifiable
     * @return string
     */
    public function routeNotificationForSmsFly($notifiable)
    {
        return $this->phone;
    }
}

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ c использованиСм Notifiable Trait:, (*14)

$user->notify(new InvoicePaid());

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ c использованиСм Notification Facade:, (*15)

Notification::send($users, new InvoicePaid());

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ SMS с использованиСм фасадов(Π±Π΅Π· использования Notification):, (*16)

<?php

use Kagatan\SmsFly\Facades\SmsFly;
use Kagatan\SmsFly\SmsFlyMessage;

public function test(){

        $message = SmsFlyMessage::create()
            ->content("Example sending SMS.")
            ->to("380987654210")
            ->from("WiFi-POINT")
            ->toArray();

        $id = SmsFly::send($message);
        $errors = SmsFly::getErrors();

        dd($id, $errors);
}

Π›ΠΈΡ†Π΅Π½Π·ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Код Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π° распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ MIT., (*17)

The Versions

04/07 2018

dev-master

9999999-dev

Send sms from sms-fly

  Sources   Download

MIT

by Avatar kagatan

laravel sms-fly-ua