Download the PHP package froodley/amazon-alexa-php without Composer

On this page you can find all versions of the php package froodley/amazon-alexa-php. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package amazon-alexa-php

Amazon Alexa PHP Library

This library provides provides a convenient interface for developing Amazon Alexa Skills for your PHP app.

It represents a breaking change (and is forked) from jakobsuchy/amazon-alexa-php

The most important changes are the addition of XSS purification and some basic Doctrine validation, and making everything stateless, SRP and more testable

Usage

Install via composer: composer require froodley/amazon-alexa-php

Requests

When Amazon Alexa triggers your skill, a HTTP request will be sent to the URL you specified for your app.

You can get the JSON body of the request like so:

The library expect raw request data, not parsed JSON as it needs to validate the request signature.

You can determine the type of the request with instanceof, e.g.:

Certificate validation

By default the system validates the request signature by fetching Amazon's signing certificate and decrypting the signature. You need CURL to be able to get the certificate. No caching is done but you can override the Certificate class easily if you want to implement certificate caching yourself based on what your app provides:

Here is a basic example:

And then in your app, use the setCertificateDependency function:

Application Id validation

The library will automatically validate your Application Id matches the one of the incoming request - you don't need to do anything for that. If and only if you wish to change how the validation happens, you might use a similar scenario to the certificate validation - provide your own Application class extending the \Alexa\Request\Application and providing a validateApplicationId() function as part of that. Pass your application to the Request library in a same way as the certificate:

Response

You can build an Alexa response with the Response class. You can optionally set a card or a reprompt too.

Here's a few examples.

To output the response, simply use the ->render() function, e.g. in Laravel you would create the response like so:

In vanilla PHP:


All versions of amazon-alexa-php with dependencies

PHP Build Version
Package Version
Requires php Version >=5.5.9
ext-curl Version *
doctrine/orm Version ^2.5.6
symfony/validator Version ^3.2.6
ezyang/htmlpurifier Version ^4.7
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package froodley/amazon-alexa-php contains the following files

Loading the files please wait ....