Symfony Bundle 用于亚马逊Alexa技能。
1.2.0
2022-10-21 12:12 UTC
Requires
- php: >=7.2.5
- maxbeckers/amazon-alexa-php: >=1.0
- symfony/config: >=5.4
- symfony/dependency-injection: >=5.4
- symfony/framework-bundle: >=5.4
- symfony/http-foundation: >=5.4
- symfony/http-kernel: >=5.4
README
此Bundle是一个简单的助手,用于创建亚马逊Echo(Alexa)端点以连接到您的symfony项目。您只需要将Bundle添加到项目中,并为alexa请求创建一些处理器,并在亚马逊Alexa后端中进行配置。
通过Composer安装
通过Composer要求该Bundle
composer require maxbeckers/amazon-alexa-bundle
启用路由
然后将Bundle端点添加到config/routes.yaml
。
# config/routes.yaml
maxbeckers_amazon_alexa:
path: /alexa/ # the url, the alexa endpoint should be available
defaults: { _controller: MaxBeckers\AmazonAlexaBundle\Controller\AmazonAlexa::amazonRequest }
创建处理器
要为Alexa添加处理器,请将它们创建为服务,并用maxbeckers_amazon_alexa.request_handler
标记。有关创建处理器的方法,请参阅maxbeckers/amazon-alexa-php。
services:
example.my_handler:
class: Example\MyIntentHandler
arguments:
- '@maxbeckers_amazon_alexa.response_helper' # ResponseHelper
tags:
- 'maxbeckers_amazon_alexa.request_handler'
生成ssml
对于ssml,使用maxbeckers_amazon_alexa.ssml_generator
服务来创建有效的ssml。
$ssmlGenerator = $this->get('maxbeckers_amazon_alexa.ssml_generator'); // add a message $ssmlGenerator->say('Hallo World'); $ssml = $ssmlGenerator->getSsml(); // $ssml === '<speak>Hallo World</speak>'