2017 © Pedro Peláez
 

library laravel

Laravel Package for Nexmo's PHP Client

image

nexmo/laravel

Laravel Package for Nexmo's PHP Client

  • Monday, March 19, 2018
  • by mheap
  • Repository
  • 35 Watchers
  • 97 Stars
  • 120,741 Installations
  • PHP
  • 2 Dependents
  • 0 Suggesters
  • 26 Forks
  • 0 Open issues
  • 11 Versions
  • 17 % Grown

The README.md

THIS PACKAGE IS DEPRECATED We have moved to: https://github.com/Vonage/vonage-laravel, so please raise any new issues or Pull Requests in this repository., (*1)

Nexmo Package for Laravel

Latest Stable Version Latest Unstable Version License Total Downloads , (*2)

Nexmo is now known as Vonage, (*3)

Introduction

This is a simple Laravel Service Provider providing access to the Nexmo PHP Client Library., (*4)

Installation

To install the PHP client library using Composer:, (*5)

composer require nexmo/laravel

Alternatively, add these two lines to your composer require section:, (*6)

{
    "require": {
        "nexmo/laravel": "^2.0"
    }
}

Laravel 5.5+

If you're using Laravel 5.5 or above, the package will automatically register the Nexmo provider and facade., (*7)

Laravel 5.4 and below

Add Nexmo\Laravel\NexmoServiceProvider to the providers array in your config/app.php:, (*8)

'providers' => [
    // Other service providers...

    Nexmo\Laravel\NexmoServiceProvider::class,
],

If you want to use the facade interface, you can use the facade class when needed:, (*9)

use Nexmo\Laravel\Facade\Nexmo;

Or add an alias in your config/app.php:, (*10)

'aliases' => [
    ...
    'Nexmo' => Nexmo\Laravel\Facade\Nexmo::class,
],

Using Nexmo-Laravel with Lumen

Nexmo-Laravel works with Lumen too! You'll need to do a little work by hand to get it up and running. First, install the package using composer:, (*11)

composer require nexmo/laravel

Next, we have to tell Lumen that our library exists. Update bootstrap/app.php and register the NexmoServiceProvider:, (*12)

$app->register(Nexmo\Laravel\NexmoServiceProvider::class);

Finally, we need to configure the library. Unfortunately Lumen doesn't support auto-publishing files so you'll have to create the config file yourself by creating a config directory and copying the config file out of the package in to your project:, (*13)

mkdir config
cp vendor/nexmo/laravel/config/nexmo.php config/nexmo.php

At this point, set NEXMO_KEY and NEXMO_SECRET in your .env file and it should be working for you. You can test this with the following route:, (*14)

$router->get('/', function () use ($router) {
    app(Nexmo\Client::class);
});

Dealing with Guzzle Client issues

By default, this package uses nexmo/client, which includes a Guzzle adapter for accessing the API. Some other libraries supply their own Guzzle adapter, leading to composer not being able to resolve a list of dependencies. You may get an error when adding nexmo/laravel to your application because of this., (*15)

The Nexmo client allows you to override the HTTP adapter that is being used. This takes a bit more configuration, but this package allows you to use nexmo/client-core to supply your own HTTP adapter., (*16)

To do this:, (*17)

  1. composer require nexmo/client-core to install the Core SDK
  2. Install your own httplug-compatible adapter. For example, to use Symfony's HTTP Client:
    1. composer require symfony/http-client php-http/message-factory php-http/httplug nyholm/psr7
  3. composer require nexmo/laravel to install this package
  4. In your .env file, add the following configuration:, (*18)

    NEXMO_HTTP_CLIENT="Symfony\\Component\\HttpClient\\HttplugClient", (*19)

You can now pull the Nexmo\Client object from the Laravel Service Container, or use the Facade provided by this package., (*20)

Configuration

You can use artisan vendor:publish to copy the distribution configuration file to your app's config directory:, (*21)

php artisan vendor:publish

Then update config/nexmo.php with your credentials. Alternatively, you can update your .env file with the following:, (*22)

NEXMO_KEY=my_api_key
NEXMO_SECRET=my_secret

Optionally, you could also set an application_id and private_key if required:, (*23)

NEXMO_APPLICATION_ID=my_application_id
NEXMO_PRIVATE_KEY=./private.key

Private keys can either be a path to a file, like above, or the string of the key itself:, (*24)

NEXMO_PRIVATE_KEY="-----BEGIN PRIVATE KEY-----\n[...]\n-----END PRIVATE KEY-----\n"
NEXMO_PRIVATE_KEY="-----BEGIN PRIVATE KEY-----
[...]
-----END PRIVATE KEY-----
"

Usage

To use the Nexmo Client Library you can use the facade, or request the instance from the service container:, (*25)

Nexmo::message()->send([
    'to'   => '14845551244',
    'from' => '16105552344',
    'text' => 'Using the facade to send a message.'
]);

Or, (*26)

$nexmo = app('Nexmo\Client');

$nexmo->message()->send([
    'to'   => '14845551244',
    'from' => '16105552344',
    'text' => 'Using the instance to send a message.'
]);

If you're using private key authentication, try making a voice call:, (*27)

Nexmo::calls()->create([
    'to' => [[
        'type' => 'phone',
        'number' => '14155550100'
    ]],
    'from' => [
        'type' => 'phone',
        'number' => '14155550101'
    ],
    'answer_url' => ['https://example.com/webhook/answer'],
    'event_url' => ['https://example.com/webhook/event']
]);

For more information on using the Nexmo client library, see the official client library repository., (*28)

The Versions

19/03 2018

dev-master

9999999-dev

Laravel Package for Nexmo's PHP Client

  Sources   Download

MIT

The Requires

 

The Development Requires

19/03 2018

1.1.1

1.1.1.0

Laravel Package for Nexmo's PHP Client

  Sources   Download

MIT

The Requires

 

The Development Requires

08/02 2018

1.1.0

1.1.0.0

Laravel Package for Nexmo's PHP Client

  Sources   Download

MIT

The Requires

 

The Development Requires

08/02 2018

dev-private-key-support

dev-private-key-support

Laravel Package for Nexmo's PHP Client

  Sources   Download

MIT

The Requires

 

The Development Requires

16/10 2017

1.0.2

1.0.2.0

Laravel Package for Nexmo's PHP Client

  Sources   Download

MIT

The Requires

 

The Development Requires

05/10 2017

1.0.1

1.0.1.0

Laravel Package for Nexmo's PHP Client

  Sources   Download

MIT

The Requires

 

The Development Requires

05/09 2017

1.0.0

1.0.0.0

Laravel Package for Nexmo's PHP Client

  Sources   Download

MIT

The Requires

 

30/06 2017

1.0.0-beta5

1.0.0.0-beta5

Laravel Package for Nexmo's PHP Client

  Sources   Download

MIT

The Requires

 

19/04 2017

0.4.0

0.4.0.0

Laravel Package for Nexmo's PHP Client

  Sources   Download

MIT

The Requires

 

19/04 2017

1.0.0-beta4

1.0.0.0-beta4

Laravel Package for Nexmo's PHP Client

  Sources   Download

MIT

The Requires

 

29/09 2016

1.0.0-beta3

1.0.0.0-beta3

Laravel Package for Nexmo's PHP Client

  Sources   Download

MIT

The Requires